对整个过程构造一张有向图,其中$(x,y)\in E$当且仅当$x$把$y$加入,且边权为$a_{x}$ 显然这是一棵外向树森林,并再做如下两个构造: 1.新建一个点$a_{0}=0$,将其向所有入度为0的点连边 2.将所有边变为无向边,且边权修改为$a_{x}+a_{y}$($x$和$y$为两端点 ...
CF1305G - Kuroni and Antihype题目大意有\(n\)个人,每个人有一个权值\(a_i\)每个人可以自己选择放入集合,不获得分数或者一个已经在集合中的人\(i\)可以把一个\(a_i \ \text{and}\  a_j=0\)的\(j\)放入集合,并且获得\(a_i\)的分数求最大得分总和模型分析按照原题的模型分析,视\(a_i\rightarrow a_j\)为一条权值
转载 2021-05-09 10:02:43
105阅读
2评论
Link. Codeforces Luogu Description. 有 \(n\) 个人,每个人有一个权值 \(a_i\)。 第 \(i\) 个人和第 \(j\) 个人是朋友当且仅当:\(a_i\&a_j=0\) 有一个传销组织,每个人可以通过以下两种方式加入它 自愿加入,不会获得任何价值 一个 ...
转载 2021-08-10 18:31:00
80阅读
2评论
题目给你n个正整数,你每次可以选择一个数加一或减一。所有位置始终要为正整数。请求出使得所有数的gcd不为1的最小操作次数。N<=2e5Ai<=1e12思路如果你假定gcd=d,只需要扫一遍就可以求出答案。注意到,d=2时答案上界是n。所以无论答案是什么,至少有一半的数至多被操作一次。这引导我们搞一个不确定性的算法。随机取一个ai,然后将ai,ai+1,ai-1的所有质因数试一次。求出答案的概率是50%。多求几次即可代码#include<bits/stdc++.h
原创 2021-07-13 10:21:32
106阅读
Link题意:思路:先构造1,n直到溢出了位置,然后考虑加n,如果单纯加n,那么对于前面贡献是n2\frac{n}{2}2n​,然后发现n每隔2个数对前面的贡献都会减1,感性的理解,就是,之前n和一个值能匹配x,现在x变大了,n怎么匹配也匹配不了了,那么暴力加n知道刚好能满足m就行了,
原创 2021-10-08 14:52:28
1606阅读
Link题意:思路:Jiangly都没做出来的题,原来这么操蛋,首先我们要发现一个性质,我们最多操作n次可以使得gcd>1,把ai变成偶数,所有ans<=n,然后可以有个更牛逼的性质,被操作两次及以上的数,不超过⌊n/2⌋\lfloor n/2 \rfloor⌊n/2⌋个,也就是说我们有大于⌊n/2⌋\lfloor n/2 \rfloor⌊n/2⌋个数仅仅只操作一次或者不
原创 2021-10-08 14:52:10
1621阅读
1144A.DS 给出一个字符串,只可能包含小写字母,要求不能有重复的字符和里面的字母是一串连续的数字(bcdef...),输出Yes或No。 对字符串排序即可。 #include<bits/stdc++.h> using namespace std; const int maxn=2e5+100;
转载 2020-07-16 16:47:00
31阅读
2评论
CF 1530 G题解 首先容易想到用一个数组记录两个$1$中间的$0$个数。 每次操作形如: 将长度为$k-1$的连续段翻转 将长度为$k+1$的连续段翻转 有一个常见套路,考虑将两个串都转移到一个中间状态,其中两个串各用了$2n$次操作。 首先需要将$a[i]$的值全部加到$a[i\mod k] ...
转载 2021-08-16 22:09:00
47阅读
12点赞
考虑中间格子不能有相同的点,其实是没用的。 其唯一用处是用来规定最后的是无法重叠的。 我们可以证明最后位置的无重叠和中间不重叠是充要的。 那显然可以我们对每个点往后连边: 形式的话的说: 对 \((x,y)\) 往 \([a_i = (x + |k - y|),s]\) 连边。 那么所有点都有位置当 ...
转载 2021-10-19 17:17:00
46阅读
2评论
XXXI.CF626G Raffles 首先,我们列出“往一个奖池内多投一张彩票”,在奖项为 \(c\)、初始有 \(a\) 张、当前已经又投了 \(r\) 张时的额外收益: \(c\times\Big(\dfrac{r+1}{a+r+1}-\dfrac{r}{a+r}\Big)\) 稍微化简一下就
转载 2021-04-02 17:06:00
47阅读
分类讨论(以下仅考虑行,列的情况):1.4行的,求出每一行的和后找到4个最大值即可;2.3行1列,枚举列,再将每一行最大值减去那一列的值后取3个最大值得和即可;3.2行2列,发现行和列是等价的,因此可以通过旋转使得$m\le n$,又因为$nm\le 10^5$,所以$m\le \sqrt{10^5
转载 2019-09-28 12:26:00
50阅读
2评论
Codeforces 题解
转载 2021-02-23 17:43:00
45阅读
题目 题目链接:https://codeforces.com/problemset/problem/961/G 给出 \(n\) 个物品,每个物品有一个权值 \(w_i\)。 定义一个集合 \(S\) 的权值 \(W(S)=|S|\sum\limits_{x\in S}w_x\)。 定义一个划分的权
转载 2021-01-20 09:31:00
69阅读
2评论
"题目" 什么神仙题啊 答案非常显然就是 $$\sum_{i=1}^nw_i\times \sum_{i=1}^ni\binom{n 1}{i 1}S_2(n i,k 1)$$ 这是因为考虑到每一个$w_i$的地位都是对等的,于是每一个$w_i$被计算进总答案的系数都是相同的,我们算一下那个系数就好
转载 2019-05-23 21:32:00
51阅读
2评论
"Link" 法一 每个数的贡献系数是一样的,我们枚举当前数所在集合的大小,那么答案为$(\sum\limits_{i=1}^nw_i)(\sum\limits_{i=1}^ni{n 1\choose i 1}\left\{n i\atop k 1\right\})$。 可以利用多项式算法求出,比较
转载 2020-04-14 14:23:00
52阅读
2评论
这种题一般都考虑每个元素的贡献,枚举每个元素假设它所在集合大小为 \(s\),那么它会贡献 \(\binom{n-1}{s-1}\cdot S2(n-s,k-1)\),那么答案即为 \(\sum_{i=1}^{n}w_i\sum_{s=1}^{n}\binom{n-1}{s-1}\cdot S2(n ...
转载 2021-10-22 09:02:00
48阅读
2评论
题目链接 提供一个稍微不同的 cdq 分治写法,不依赖 \(K\) 的大小。 首先一个限制为 \(q\) 的值差距不大于 \(K\) 。 于是可以对 q 排完序后对每个下标 i 查 q 在 \(q_i+K\) 内的贡献减去 q 在 \(q_i-K-1\) 内的贡献, 这一维便可直接用 \(cdq\) ...
转载 2021-08-02 17:24:00
62阅读
2评论
求本原毕达三原组的个数以及不是毕达三元组的数。这道题需要把规模降下来,由x=m^2-n^2y=2mnz=m^2+n^2由有x+y#include #include #include #include using namespace std;const int Maxn=1000010;bool fl...
转载 2014-09-04 19:56:00
9阅读
2评论
传送门 题目 题意翻译 给出nn 个物品, 每个物品有一个权值w_iw i ​ 定义一个集合SS 的权值W(S)=|S|\sum\limits_{x\in S}w_xW(S)=∣S∣ x∈S ∑ ​ w x ​ 定义一个划分的权值为W’®=\sum\limits_{S\subseteq R}W(S)W ′ ®= S⊆R ∑ ​ W(S) 求将nn 个物品划分成kk 个集合的所有方案的权值和 n...
原创 2021-07-13 14:52:22
53阅读
共产主义,是好的!其具体表现在于,我可以从 $\sf XYX$ 的名言中随机摘取! ...
转载 2021-07-13 10:29:00
126阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5