12 2024 档案
摘要:https://codeforces.com/contest/1770/problem/C C: 最不会的数论。 感觉不知道怎么能做出来,可能就是多观察样例,从答案出发思考吧。 假设给定x,那么要求就是两个数必须gcd为1,也就是说每两个数都没有相同的质因子 那么我们考虑是否有一种情况,对于任意x,
阅读全文
摘要:answer page 还有好多没补,但是既然赛时写出了e就应该去补f,不进则退 这场没开排行榜埋头苦写第一次赛时出e了,也是第一次500名,可喜可贺//(虽然d不会) D 想了一个n4做法,状态设计为 , 表示第i行必须选第pos个数且当前在位置j且当前行选k个
阅读全文
摘要:问题转化为C(n, 4) - num 发现num = sum (-mu[i]) * C(cnt[i], 4) 这时候就可以预处理mu以及C来求解,cnt[i]可以刷表法递推 (填表:由谁来,刷表:到谁去) #include <bits/stdc++.h> using namespace std; c
阅读全文
摘要:连掉了五场分,但是该打还是要打。反正也不会更差了。 problem set 官方中解 A 我A就不会了,但是随便猜了一个结论过了。 复制一下题解:考虑移除连续33实际减少的数是多少,就会发现减少的也是33倍数,所以原本就要整除才行 B 呃一开始构造错了。。把最小数间隔k排然后别的数随便塞 C \(O
阅读全文
摘要:看课笔记:https://www.bilibili.com/video/BV1G3411h7f5/?spm_id_from=333.337.search-card.all.click&vd_source=47c0221101e188411183012cce9b216c 讲的真的很好,但是我是不会去看
阅读全文
摘要:LL CRT(int k, LL* a, LL* r) { LL n = 1, ans = 0; for (int i = 1; i <= k; i++) n = n * r[i]; for (int i = 1; i <= k; i++) { LL m = n / r[i], b, y; exgc
阅读全文
摘要:__int128 read(){ __int128 x=0,f=1; char ch=getchar(); while(!isdigit(ch)&&ch!='-')ch=getchar(); if(ch=='-')f=-1,ch=getchar(); while(isdigit(ch))x=x*10
阅读全文
摘要:自己vp了一下这一场,赛时7题,比较简单,但是有几题也是卡了蛮久。 都是思维题。 C 感觉结论比较显然但是实现上被卡住了。 用map没过,重构的时候把多个数压缩成一个数处理ac了,对拍发现是因为循环逻辑导致错误了。。 #include <bits/stdc++.h> using namespace
阅读全文
摘要:贪心 https://codeforces.com/problemset/problem/1798/C https://codeforces.com/contest/1779/problem/C (bonus problem不会) https://codeforces.com/problemset/
阅读全文
摘要:https://atcoder.jp/contests/abc378/tasks/abc378_e #include <bits/stdc++.h> using namespace std; #define int long long #define lowbit(x) (x&(-x)) #defi
阅读全文
摘要:补码 正数和0补码为本身,负数补码为取反码后加1 多目运算 有几个数参与运算就有几个目,比如取反是单目运算~ 设置一位为0或是1 int st(int x, int i, int k) { if (k) return (x | (1 << i)); else return x & ~(1 << i)
阅读全文
摘要:期望的性质 线性性 (Linearity) 对任意两个随机变量 和常数 ,无论 是否独立,期望满足: \[\mathbb{E}[X+Y] = \mathbb{E}[X] + \mathbb{E}[Y], \quad \mathbb{E}[aX+b]
阅读全文
摘要:E 概率期望 #include<bits/stdc++.h> using namespace std; #define LL long long #define pii pair<int, int> #define endl '\n' #define mkp make_pair // #define
阅读全文
摘要:本来写完了但是忘保存了。。寄
阅读全文
摘要:https://codeforces.com/problemset/problem/1800/F (对于每个i做两个状压就可以用二进制运算去算,这教导我们不要随便压3个状态因为没法算) 我的想法是挨个去满足所有条件然后对于每个条件想做法。但是因为条件很多所以应该先观察合法条件之间的联系。 这就产生了
阅读全文
摘要:状态为f[i][j][k],和g[i][j][k], i为i子树内,j为放置的摄像头个数,f中k为内部向外延伸的长度,g中k为外部向内延伸长度 当内部摄像头j*k>=siz[i]时一定可以全覆盖,要特殊记录,这也是复杂度为n方的关键 三维太多,用encode和decode压缩空间 考虑转移 因为太难
阅读全文
摘要:潜入行动 为例, 主要是dfs部分的代码,每次合成两个树,然后再把新的树往上面和,转移会非常容易 #include<bits/stdc++.h> using namespace std; #define LL long long const int N = 1e5 + 10, mod = 1e9 +
阅读全文
摘要:主要方法:用多个数组表示不同状态,同时维护两个dp数组 #include<bits/stdc++.h> using namespace std; #define int long long const int N = 500 + 10, mod = 1e9 + 7; int n, k, f[N][N
阅读全文