
codeforces
洛斯马里
只有相信CSC大人才能变强
展开
-
codeforces1328E. Tree Queries(树上点祖先的判断)
题目链接题目大意:给你一棵树,根为节点1,进行m次查询,每次查询k个节点。判断是否存在一条由根到节点u的路径,使k个节点在这条路径上或距离这条路径距离不大于1.思路:每次选取距离根深度最深的点fv,因为深度最深的点总是最难满足条件的点,剩下的k-1个点要么在路径上(是点fv的祖先),要么距离路径的距离为1(点集中点的第一个父结点是点fv的祖先),因为fv祖先的父结点还是 fv的祖先,我们让所有点都找到它的父结点,便于判断条件。这样,就把问题转换成了判断剩下 k-1个点的父结点是不是fv的祖先。之后原创 2021-05-11 21:26:08 · 489 阅读 · 1 评论 -
CF1514C. Product 1 Modulo N(数论)(补题)
题目链接大意:给你一个数n,让你从1至n-1中选择最多的数相乘,使乘积模n为1.先说结论:选出所有与n互质的数进行相乘(1)乘积模n为1,满足条件,输出这些数(2)乘积模n不为1,设p=乘积%n。将数p从答案中拿出,输出剩余的数为什么结论成立:(1)为什么要取所有互质的数,取不互质的可以吗?答:当你选取了一个与n不互质的数进行相乘,你的乘积prod(以下称为prod)将不再与n互质,这意味着prod%n可变为(此时设g=gcd(n,prod))prod%n=(prod/g)%(n/g)*g原创 2021-04-20 09:05:39 · 416 阅读 · 1 评论 -
CF1358D. The Best Vacation
题目链接思路:尺取+贪心请看注释!#include<iostream>#include<cstdio>#include<algorithm>#include<string>#define fast ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)#define ll long long#define endl "\n"using namespace std;const int原创 2021-03-17 19:03:11 · 137 阅读 · 0 评论 -
codeforces1363E. Tree Shuffling(树形DP与贪心处理 )
题目连接话不多说,请看代码与注释#include<iostream>#include<cstdio>#include<algorithm>#include<string>#include<vector>#define fast ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)#define ll long long#define endl "\n"using names原创 2021-03-15 19:28:43 · 144 阅读 · 0 评论 -
codeforces1491C. Pekora and Trampoline
题目链接思路见注释这是一道贪心+差分#include<iostream>#include<cstdio>#include<algorithm>#include<string>#define fast ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)#define ll long long#define endl "\n"using namespace std;const i.原创 2021-03-02 12:55:28 · 185 阅读 · 0 评论 -
codeforces1492D. Genius‘s Gambit(构造)
题目链接题目大意:给你三个整数a,b,k,找两个二进制数X,Y,都有a个0,b个1,使X-Y刚好有k个1.两个二进制数都必须以1为首思路:对于给予的三个数进行不同情形的讨论第一种情况:k=0时此时只要两个数相同即可满足条件,输出b个1与a个0两次即可。第二种情况:0<k ≤\leq≤ a+b-2时需要再细分为情形(1):a=0或b=1a=0或b=1时,都只能固定生成111111111…(100000000…)X与Y相同,不满足条件。情形(2):a > 0且b > 1原创 2021-02-24 22:26:46 · 207 阅读 · 0 评论