
CF
psc233
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #411 (Div. 1)-F. Fake bullions
题目链接 Codeforces Round #411 (Div. 1)-F. Fake bullions 解析 首先我们可以把问题分割成两个独立的子问题,即先求出每个点上最小的真金子的数量与最大的真金子的数量,再组合计数 考虑题目给的条件,对于图中的一条有向边(u,v),如果节点u上i位置有金子,那么节点v上的所有满足j≡i(mod gcd(su,sv))j\equiv i(mod\ ...原创 2019-11-06 20:22:43 · 181 阅读 · 0 评论 -
Codeforces Round #539 (Div. 1)
A. 显然就是统计有多少区间长度为偶数且xor为0 #include<bits/stdc++.h> using namespace std; int n,x; int f[2000010][2]; long long ans; int main() { scanf("%d",&n); f[0][0]=1; int s=0; for (int i=1;i<=n...原创 2019-02-18 08:54:16 · 176 阅读 · 0 评论 -
Codeforces Global Round 1
D. 由于一组连续三个数的情况不会超过3个,因为如果超过3个的话,那么你可以直接归类到每个数取3个就行了 所以一个数被选中为组成连续三个数的情况不会超过6个,所以我们直接f[i][j][k]表示搜到i,且i剩余j个,(i-1)剩余k个的方案数,那么你就直接dp就行了 #include<bits/stdc++.h> using namespace std; const int M...原创 2019-02-17 08:06:40 · 138 阅读 · 0 评论 -
Codeforces Round #538 (Div. 2)
D. 题意:给你一个颜色序列,把相邻颜色相同的一坨看做一个块,我们可以改变一个块的颜色,然后显然可以合并相邻的颜色块,问最终合并成一个块需要几步 解析:显然一个连续的区间最终变成的颜色就是最左边或者最右边的颜色,所以直接dp即可 #include<bits/stdc++.h> using namespace std; const int MAXN=5010; int f[MAX...原创 2019-02-17 08:07:56 · 118 阅读 · 0 评论 -
Codeforces Global Round 4
现在比赛也多了起来,就记一下题解吧 A.只要贪心把每个符合条件的点加入联盟即可 #include<bits/stdc++.h> using namespace std; int a[1000]; int n,sum,ans,s; int main() { scanf("%d",&n); for (int i=1;i<=n;i++) scanf("%d",&...原创 2019-07-22 20:58:21 · 123 阅读 · 0 评论 -
Codeforces Round #576 (Div. 1)
A.只要暴力维护前后缀,再two point扫一遍就行了 B.线段树模板题 C.由于找什么一般图最大匹配,最大独立集是n^3的,所以这道题就是乱搞,我们考虑每次贪心找度数最小的点,然后把与其相连的度数最小的点删掉,做匹配(其实乱匹配也可以),如果匹配数不足n个,那么显然最大独立集大小大于n 以下矩形(x1,y1)(x2,y2)指的是左上角点为(x1,y1)右下角点为(x2,y2)的矩形 D...原创 2019-08-02 08:42:58 · 156 阅读 · 0 评论