大意: 给定序列$a$, 求选择一个子区间$[l,r]$, 使得$\sum\limits_{i=l}^r(i-l+1)a_i$最大. $n\le2e5, |a_i|\le 1e7$. 记$s[i]=\sum a[i], m[i]=\sum ia[i]$, $dp[i]$为以$i$为右端点的答案, 有 $\begin{align} \notag dp[i] & =\max\limits_{0\le j<i}\{m[i]-m[j]-j(s[i]-s[j])\} \\ & =  m[i]-…
小A与最大子段和 题意 在一个序列 \(\{a\}\) 里找到一个非空子段 \(\{b\}\), 满足 \(\sum\limits_{i=1}^{|b|}b_i\times i\) 最大 \(n\le 200000,|a_i|\le 2000\) 长的都一脸的斜率优化 考虑表示一个子段\([l+1,r]\)为 \[ \begin{aligned} &\sum_{i=l+1}^ra_i(i-l)\\ &=\sum_{i=l+1}^ra_i\times i-a_i\times l \end{a…
小D的剑阵 题意链接: https://ac.nowcoder.com/acm/contest/369/F 来源:牛客网 现在你有 \(n\) 把灵剑,其中选择第i把灵剑会得到的 \(w_i\) 攻击力. 于此同时,还有 \(q\) 个约束,每个约束形如:x y v_0 v_1 v_2 \(x\) 和 \(y\) 表示两个物品的编号,如果同时选中可以获得额外 \(v_0\) 的攻击力, 同时不选可以获得额外 \(v_1\) 点攻击力,只选择一个则会扣除 \(v_2\) 的攻击力. 小D想知道剑阵…
小A与任务 链接: https://ac.nowcoder.com/acm/contest/369/B 来源:牛客网 题目描述 小A手头有 \(n\) 份任务,他可以以任意顺序完成这些任务,只有完成当前的任务后,他才能做下一个任务 第 \(i\) 个任务需要花费 \(x_i\) 的时间,同时完成第 \(i\) 个任务的时间不能晚于\(y_i\) ,时间掌控者向小A提出了一个条件:如果完成第 \(i\) 个任务的时间本应是 \(t\) ,但小A支付 \(m\) 个金币的话,他可以帮助小A在$ t−…
小D的Lemon 题意 已知 \[ g(x)=\left\{\begin{matrix} 1&,x=1\\ \sum_{i=1}^qk_i&,otherwise \end{matrix}\right. \] 求 \[ \prod_{i=1}^n\prod_{j=1}^mg(\gcd(i,j)) \] 说明 多组数据,\(T\le 1000,n,m\le 250000\) 式子太久没推都推不好了... \[ \begin{aligned} \prod_{i=1}^n\prod_{j=1}^m…
题目描述 小w喜欢打牌,某天小w与dogenya在一起玩扑克牌,这种扑克牌的面值都在1到n,原本扑克牌只有一面,而小w手中的扑克牌是双面的魔术扑克(正反两面均有数字,可以随时进行切换),小w这个人就准备用它来出老千作弊.小w想要打出一些顺子,我们定义打出一个l到r的顺子需要面值为从l到r的卡牌各一张.小w想问问你,他能否利用手中的魔术卡牌打出这些顺子呢? 输入描述: 首先输入一行2个正整数n,k,表示牌面为1~n,小w手中有k张魔术扑克牌.  然后输入k行,每行两个数字,表示卡牌的正面和反面的面…
地址:https://ac.nowcoder.com/acm/contest/223/B 此题是一道套公式题目,不难,ans=(pow(4,n+1)-4*pow(3,n+1)+6*pow(2,n+1)-4)*pow(8,mod-2) #include <cstdio> #include <queue> #include <cstring> #include <iostream> #include <cstdlib> #include <al…
大意: 给定树, 每个点初始权值0, 每次询问给出$x$, $x$权值+1, 求距离$x$不超过2的权值和. 这题数据范围过大, 动态点分治卡不过去, 考虑其他做法 考虑每次只加范围$1$, c[0]是单点更新, c[1]是更新所有儿子 while (m--) { int x; scanf("%d", &x); ++c[fa[x]][0],++c[x][0]; ++c[x][1]; printf("%d\n", c[x][0]+c[fa[x]][1]); }…
链接:https://ac.nowcoder.com/acm/contest/371/A来源:牛客网 小睿睿在游戏开始时有n根火柴棒,他想知道能摆成形如“A+B=n”的等式且使用的火柴棒数也恰好等于n/k的等式有多少种(B+A=n与A+B=n看作一种) 注: “=”与“+”分别需要使用2根火柴棒 输入描述: 一行2个整数n,k,保证n取模k为0 输出描述: 一行一个整数,表示答案 思路,打表存下每个数字对应消耗的火柴数 #include<iostream> using namespace st…
链接:https://ac.nowcoder.com/acm/contest/371/B来源:牛客网 小睿睿的n个妹纸排成一排,每个妹纸有一个颜值val[i].有m个询问,对于每一个询问,小睿睿想知道区间[L,R]颜值最高而编号最小的妹纸是哪一个 对于妹纸们的颜值val[i],其生成函数为: void generate_array(int n,int seed) {     unsigned x = seed;     for (int i=1;i<=n;++i)     {         x…