【10.2GLBP Round-robin //0.8.6】教程文章相关的互联网学习教程文章

Codeforces Round #568题解【代码】【图】

第一次遇到有9题的div2。。。 A题 排序后,伸展两边 #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int,int> pll; const int N=2e5+10; const int mod=1e9+7; ll a[4]; int main(){ios::sync_with_stdio(false);ll d;cin>>a[1]>>a[2]>>a[3]>>d;sort(a+1,a+4);ll ans=0;ans+=max(0ll,d-a[2]+a[1]);ans+=max(0ll,d-a[3]+a[2]);cout<<ans<<endl;return 0; }View Code B题 写了个臭暴力,因为输入...

Codeforces Round #706 (Div. 2) C,D【代码】【图】

Codeforces Round #706 C-Diamond MinerD-Lets Go Hiking C-Diamond Miner题意: 分别给定你一堆在y轴的上的点,和x轴上的点,一个y轴有且只有一个x轴的点和它连接,问最后这些点都互相链接之后,所有点对的距离和最小为多少? 思路: 我们把所有的点按照距离原点的距离排一下序,画一下图就可以发现,一定是从y轴距离原点最近的点去连此时还未连接的x轴上距离原点最近的点。 把这个四个点放到一个平行四边形中,很明显的两条对角...

codeforces gym 102268 300iq round【代码】

暂时只能写签到题,别的题解之后补A.Angle BeatsB.Best Subsequence有点有趣的二分显然二分之后就是找到一个长度恰好为k的合法环了先证明一个引理,如果可以找到一个长度大于k的环一定可以找到一个长度等于k的环固定头尾不动之后就可以使用归纳法证明一个长度大于3的环都可以删掉一个点为啥呢?,因为考虑任意三个连续的点,除非中间的点是最小值,否则都可以删掉这个点很容易证明长度大于3的序列至少存在一组三个连续的点满足中间...

Educational Codeforces Round 60 (Rated for Div. 2) E. Decypher the String【代码】

题目大意:这是一道交互题。给你一个长度为n的字符串,这个字符串是经过规则变换的,题目不告诉你变换规则,但是允许你提问3次:每次提问你给出一个长度为n的字符串,程序会返回按变换规则变换后的字符串,提问3次后你需要猜出这个字符串。解法是学习https://blog.csdn.net/baiyifeifei/article/details/87807822 这个博主的,借用了进制的思想非常巧妙。 解法:对于某个位置的来源位置我们设为x,因为26*26*26>10000,那么x可以唯...

CF round416 div2 补题【代码】

A. Vladik and Courtesy水题略过#include<cstdio> #include<cstdlib> #include<cmath> using namespace std; typedef long long int LL; int main() {LL a,b;scanf("%I64d%I64d",&a,&b);LL num=1;while(true){if(a<num){printf("Vladik\n");return 0;}a-=num;//b+=num;num++;if(b<num){printf("Valera\n");return 0;}b-=num;//a+=num;num++;}return 0; } B. Vladik and Complicated Book给定一个序列, 询问子区间【l,r】的第k小数...

C. Pekora and Trampoline(Codeforces Global Round 13)题解【代码】

题目链接:C. Pekora and Trampoline 思路:差分,经过仔细思考可以发现,最优解一定是都在1这个位置进行跳跃,因为假设1这个位置上的a[1]=1,那么他会跳到2,也就是具有传递性,直到跳到一个value不为1的地方,这和一开始就在该位置跳是一样的。证明了这个之后,我们进一步思考可以发现,i这个位置,可以对后面[i+2,min(a[i]+i,n)]产生影响,产生的影响是后面这些用跳的次数-1,然后再根据a[i]=1的传递性,如果位置j的value已经降...

Educational Codeforces Round 76 (Rated for Div. 2)E(dp||贪心)【代码】

题:https://codeforces.com/contest/1257/problem/E题意:给定3个数组,可行操作:每个数都可以跳到另外俩个数组中去,实行多步操作后使三个数组拼接起来形成升序。   输出最小操作次数dp:#include<bits/stdc++.h> usingnamespace std; constint M=2e5+5; int dp[M][3]; int a[M]; ///dp[i][0]表示前i个数全属于第一个数组所要花费的最小代价 ///dp[i][1]表示前i个数全属于第一、二个数组所要花费的最小代价 ///!!dp[i][1]必...

【UOJ Round #8】【代码】【图】

A  一道不错的题,虽然大家都觉得是水题,然而蒟蒻我想出来的好慢……Orz alpq  发现其实就是一个网格图,每一个大块都是同一颜色……横纵坐标互不干扰…… 1//UOJ Round #8 A 2 #include<vector>3 #include<cstdio>4 #include<cstring>5 #include<cstdlib>6 #include<iostream>7 #include<algorithm>8#define rep(i,n) for(int i=0;i<n;++i)9#define F(i,j,n) for(int i=j;i<=n;++i) 10#define D(i,j,n) for(int i=j;i>=n;--i...

Codeforces Round #679 (Div. 1, based on Technocup 2021 Elimination Round 1)【代码】

Codeforces Round #679 (Div. 1, based on Technocup 2021 Elimination Round 1)T1 Perform Easilymean\(\quad\)给你6个数\(a_{1} a_{2} ... a_{6}\) ,再给你\(n\)个数\(b_{1} b_{2} ... b{n}\) ,问当所有\(b\)都减去任意一个\(a\)时,最大值减去最小值的最小值是多少idea\(\quad\)我们考虑将所有的\(b_{i}\)都与任何一个\(a_{j}\)相减,那么就可以得到一个预处理好的结构,我们考虑这个结构具有两种属性相减之后的数值,我们简数...

CodeCraft-21 and Codeforces Round #711 (Div. 2)【代码】

A. GCD Sum 题目描述 设 \(s(i)\) 为 \(i\) 的数位和,求第一个 \(\geq n\) 满足下式的 \(x\): \[\gcd(x,s(x))>1 \]\(1\leq n\leq 10^{18}\),数据组数不超过 \(10^4\) 组 解法 一开始没想法,然后打了个爆搜过掉了。 根据小学奥数可知若 \(x\) 为 \(3\) 的倍数则 \(\gcd(x,s(x))=3\),所以就算是爆搜也只需要搜三次。 B. Box Fitting 题目描述 点此看题 解法 又猜了结论,就是能填大的就暴力填大的。 证明就考虑如果某次放弃了填...

Codeforces Round #717 (Div. 2) A-C题解【代码】

心得:打这个比赛的时候由于读题,自己变成一个大傻逼了,反思了一晚上 ,确实还是自己做的不够好,下面我口胡一篇自己的对于这几个题的解答。 比赛地址传送门 开始了: A题意:给出长度为N 的数组和可以操作的最大次数,然后要求你找出 非负的最小的数组字典序,然后有一个操作,选择一个数组+1,一个数组-1,直到找到最小字典序,或者操作做完。 题解:直接就是把所有的数字[1–n-1]这个范围的数字依次减 然后+到第N个数上,特别...

Codeforces Round #181 (Div. 2)C【代码】

用lucas定理, p必须是素数 对于单独的C(n, m) mod p,已知C(n, m) mod p = n!/(m!(n - m)!) mod p。显然除法取模,这里要用到m!(n-m)!的逆元。根据费马小定理:已知(a, p) = 1,则 ap-1 ≡ 1 (mod p), 所以 a*ap-2 ≡ 1 (mod p)。也就是 (m!(n-m)!)的逆元为 (m!(n-m)!)p-2 ;所以C(n, m) mod p = n! * (m! * (n - m)! )^(p-2)%mod中间用快速幂取余#include<map> #include<set> #include<cmath> #include<queue> #include<stack> ...

Codeforces Round #354 (Div. 2) ABCD【代码】【图】

Codeforces Round #354 (Div. 2)Problems #Name ANicholas and Permutationstandard input/output 1 s, 256 MB x3384BPyramid of Glassesstandard input/output 1 s, 256 MB x1462CVasya and Stringstandard input/output 1 s, 256 MB x1393DTheseus and labyrinthstandard input/output 3 s, 256 MB x375EThe Last Fight Between Human and AIstandard input/output 1 s, 256 MB x58Complete problemset A Nicholas and P...

Codeforces Round #253 (Div. 1)-A,B

A题:由题意可知,最多翻10次就可以(其实8次就够了),那么我们就用状态压缩表示状态。对于某种状态,如果某一位为0,那么代表这一位不翻,否则代表这一位翻。对于某一种翻的状态:如果牌中有G3,那么就把G和3进行连边。其他的连边类似,不要重边。对于任意一条边的两个端点,分三种情况讨论:1,两个端点都翻了,那么很明显,这张牌被表示出来了。2,两个端点中只有一个端点被翻,那么这个对应的num加1.3,两个端点都没有被翻,计...

Codeforces Round #521 (Div. 3) D. Cutting Out【代码】

D. Cutting Out题目链接:https://codeforces.com/contest/1077/problem/D题意:给你n个数,现在要你选k个数出来,并且能够从这n个数种选取尽量多的这k个数。 题解:一开始想的贪心+模拟,然后写崩了...其实这个题二分一下选几组就好了,因为要选几个数是固定了的,所以我们可以用二分来判断可行性(根据二分的x和每个数出现的次数来判断),即是否可以选够k个数,这个很容易办到。然后最后统计一下每个数出现的个数,最后无脑选输...