当前位置: 首页 > news >正文

卖水果网站建设的策划书微信第三方

卖水果网站建设的策划书,微信第三方,首先确定网站建设的功能定位,安庆网站建设专Educational Codeforces Round 143 (Rated for Div. 2) D. Triangle Coloring 思路: 每个环都需要取最大值,那么我们讨论一个环获得最大值选的两条边的可能取法: 显然:如果三边相等,这个环有3种取法。如…

Educational Codeforces Round 143 (Rated for Div. 2)

D. Triangle Coloring

思路:

  1. 每个环都需要取最大值,那么我们讨论一个环获得最大值选的两条边的可能取法:              显然:如果三边相等,这个环有3种取法。如果有两条小边相等,这个环有两种取法。其余情况都只能取一种
  2. 之后把每个环都看成一个点,就是从n个环选n/2个蓝色(红色),求组合数。
  3. 所以其实就是考逆元乘法逆元(费马小定理,拓欧,线性dp)
#include <bits/stdc++.h>
using namespace std;
#define ll     long long
#define int ll
typedef unsigned long long ull;
typedef pair<long long, long long> pll;
typedef pair<int, int> pii;//double 型memset最大127,最小128
//std::ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
const int INF = 0x3f3f3f3f;         //int型的INF
const ll llINF = 0x3f3f3f3f3f3f3f3f;//ll型的llINF
const int N = 2e5 + 10;
const int mod = 998244353;
int a[3];ll fastmi(ll base, ll power)//快速幂求逆元
{ll ans = 1;while (power){if (power & 1)ans = ans * base % mod;base = base * base % mod;power >>= 1;}return ans;
}int32_t main()
{std::ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);int n;cin >> n;//n从表示一个点转化为表示一个环n /= 3;ll ans = 1;for (int i = 1; i <= n; ++i){cin >> a[0] >> a[1] >> a[2];//3点一个环sort(a, a + 3);//if (a[0] == a[2])ans = (ans * 3) % mod;//else if (a[0] == a[1])ans = (ans * 2) % mod;}ll tmp = 1;for (int i = 1; i <= n / 2; ++i)//求组合数C(n/2,n){ans = (ans * (n / 2 + i)) % mod;tmp = tmp * i % mod;}ans = (ans * fastmi(tmp, mod - 2)) % mod;cout << ans << endl;return 0;
}

E. Explosions?

思路:

  1. 我们枚举每个点作为爆炸点,显然,爆炸连续的前提就是左边生命值严格单调增,右边严格单调减。
  2. 由于我们需要消耗的生命值总和是恒定的,所以,那个点爆炸造成总伤害高,显然耗费魔法值更少
  3. 我们考虑爆炸时左边(右边)的邻居(j)与爆炸点(x)的大小关系(a[i]表示生命值,l[i]表示i对左边可以造成的伤害和(包括炸死自己)):
    1. 会发现,如果a[j]>=a[x]-1,是无法爆炸的,不过,我们可以用单位魔法把j生命值变为a[x]-1,所以无影响
    2. 所以对于x左边任意点j,如果a[j]>=a[x]-(x-j),我们可以用单位魔法操作到其生命值为a[x]-(x-j)。
    3. 对于a[j]<a[x]-(x-j),那我们下一次爆炸的威力就减少了,而且我们发现,后续产生的伤害等于l[j],所以我们加上l[j]就不用再往左了
    4. 因此,我们得出,每次求l[x],只需要找到第一个点j满足a[j]<a[x]-(x-j),那么                    l[x]=(x-j)*(a[x]+(a[x]-(x-j)+1)/2+l[j]
    5. 然而,每个点都回溯太费时间了,我们中间那些不满足a[j]<a[x]-(x-j)的点j只要没用一次就一直没用,我们能不能舍去他,为这个数组减肥呢。
    6. 观察发现,不等式可以表示为a[j]-j<a[x]-x,所以我们可以另开一个数组记录这个信息。然后从左往右遍历,每次求当前点l[x],只需要把a[j]-j>=a[x]-x的前面点舍去,最后就可以立刻求取答案,显然,舍去这个功能让我们想到可以开一个栈(先进后出)
    7. 爆炸右边也是同理
#include <bits/stdc++.h>
using namespace std;
#define ll     long long
#define int ll
typedef unsigned long long ull;
typedef pair<long long, long long> pll;
typedef pair<int, int> pii;//double 型memset最大127,最小128
//std::ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
const int INF = 0x3f3f3f3f;         //int型的INF
const ll llINF = 0x3f3f3f3f3f3f3f3f;//ll型的llINF
const int N = 3e5 + 10;
int a[N], l[N], r[N], a1[N], n;void cnt(int *f)
{stack<int>s;s.push(0);//放入左边边界外面0for (int i = 1; i <= n; ++i)a1[i] = a[i] - i; //记录比较数组for (int i = 1; i <= n; ++i){while ((int)s.size() > 1 && a1[s.top()] >= a1[i])s.pop(); //从最靠近右边的点(堆顶)开始比较,不满足的点全部舍去,后面也没用了int len = min(a[i], (ll)i - s.top()); //爆炸可持续范围最长是a[i](伤害不断递减),不是直接取遇到满足条件的j点(你可能到不了那个点)f[i] = f[s.top()] + len * (2 * a[i] - len + 1) / 2;s.push(i);//不断给栈存入新的点}
}int32_t main()
{std::ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);int t;cin >> t;while (t--){cin >> n;ll sum = 0;for (int i = 1; i <= n; ++i)cin >> a[i], sum += a[i];cnt(l);reverse(a + 1, a + 1 + n); //反转一下求右边爆炸cnt(r);reverse(r + 1, r + 1 + n); //r获得的是反转过的,要反转回来reverse(a + 1, a + 1 + n);ll ans = 0;for (int i = 1; i <= n; ++i)ans = max(ans, l[i] + r[i] - 2 * a[i]); //l与r都记录了a[i]造成的伤害,然而这个伤害是魔法产生的,不是被波及的cout << sum - ans << endl;}return 0;
}

http://www.yayakq.cn/news/689989/

相关文章:

  • 简述dw网站建设步骤扁平式网站源码
  • 广西建设科技与建筑节能协会网站怎么可以做网站
  • 做灯带的网站php网站作业
  • 用dede做网站去掉版权做seo的网站
  • 盗版视频网站建设费用企业网站建设首选智投未来1
  • 小地方做外卖网站怎样wordpress点评
  • 合肥高端网站开发公司常州专业网站建设公司哪家好
  • 网站安全检测可以检测哪些内容风险信息小程序免费制作平台登录
  • 在哪个网站做整形专业网站建设新闻
  • 个人网站栏目哪里有网站开发服务
  • 遵义市住房和城乡建设局网站wordpress 完整主题下载
  • 丹东商城网站建设wordpress文章图片在线裁剪
  • 微信小说网站开发软件开发步骤及周期
  • 给别人网站做跳转wordpress媒体库文件路径
  • 苏州网站建设公司电话江门微信网站建设
  • 郑州销售网站华企在线网站建设
  • 班级网站的规划与建设磁力网站怎么做的源码
  • 当当网站建设优点长春火车站高清图片
  • 东莞网站设计开发技能大赛手机站建设
  • 自己做游戏需要学什么德阳网站建设优化
  • 中华南大街网站建设小学生有没有必要学编程
  • 网站开发维护计入什么费用网站常用参数
  • 做的网站如何改标题河北建设工程招标网
  • 阿里云的网站建设好不好网站留言板的作用
  • 网站设计公司 杭州软件开发模型有几种
  • 免费网站建设ppt模板律师事务所网站建设重要性
  • 把网站做静态化在线免费设计logo
  • wordpress全站链接wordpress 主题 打不开
  • 个人网站开发背景及意义重庆网红打卡点有哪些地方
  • 长春火车站防疫政策江苏网页定制