该文被密码保护。 阅读全文
摘要:
点击查看代码 #include<bits/stdc++.h> #define int long long #define mod 1000000007 using namespace std; int n,m; int a[5005]; int gs[5005]; vector<int> b; ve 阅读全文
摘要:
A link 如果选择这一天做题可以让差增加(即我这一天的题数大于他下一天的题数),则选;否则不选。 特殊的,另一个人地 天我们钦定他做了 道题。 点击查看代码 #include<bits/stdc++.h> using namespace std; int n; int a[1 阅读全文
摘要:
A link 如果两只小动物只往中间跳的话,那么中间间隔奇数个就是另一个小动物赢(一定会出现两个小动物挨着而该爱丽丝跳了),否则就是爱丽丝赢(一定会出现两个小动物挨着而改另一个动物跳了)。 那么我们可以发现,两个小动物只会往中间跳,因为往边上跳跳出去再跳回来一定是偶数步,不会改变自己的输赢(即不改变 阅读全文
摘要:
例题:洛谷P4716 算法流程详见oi.wiki 自己感觉比较好的一篇题解 讲讲自己不太明白的地方 1.代码40行和42行的判断条件 for(u=i;u!=r&&top[u]!=i&&!id[u];u=fa[u]) top[u]=i; 和 if(u!=r&&!id[u]) { id[u]=++cnt 阅读全文
摘要:
C link 记录一下每个鸽笼里鸽子的个数和每个鸽子的位置,维护一下有几个笼子里有两个以上的鸽子。 点击查看代码 #include<bits/stdc++.h> using namespace std; int n,q; int gs[1000005]; int wz[1000005]; int c 阅读全文
摘要:
A link 总共就三组,看一下每一组如果满足要让它是多少,看看最多有几个相同的,最多有几个相同的就满足这些,就可以满足这么多组。 点击查看代码 #include<bits/stdc++.h> using namespace std; int a[10]; int c[5]; void qwq(){ 阅读全文
摘要:
A link 首先,每次操作(第一次除外)之前 一定是一个奇数,那么我们要再加一个奇数才能让它变为偶数分数加一。 那么就是说操作过至少一次后,有几个奇数就有几分。 那么如果有至少一个偶数,那么第一次用偶数可以得分,后面再用奇数可以得分,偶数的不了分,最终得分就是奇数个数加一,如果没有偶数,第 阅读全文