codeforce比赛题
_记念_
这个作者很懒,什么都没留下…
展开
-
B. Zero Array
题目链接 题意 给你n个数,每次取两个数,然后让其各减1,问能否用一种方式让所有数全部变为0。如果可以,则输出YES,否则输出NO。 思路 记n个数的和为SUM,如果SUM为奇数,显然推出不可能。 如果SUM是偶数,则需要判断n个数中最大的数的2倍与SUM的关系。 记n个数中最大的数为A,那么如果A2>SUM,那么不管怎么减都不可能达到最后全是0的效果。但是如果A2 <= SUM的话,...原创 2019-11-03 19:54:21 · 156 阅读 · 0 评论 -
Codeforces #571 C Vus the Cossack and Strings
题目链接 Solution 1 手动操作具体可以参照下面的代码 AC代码 #include <bits/stdc++.h> using namespace std; const int maxn=1e6+5; char a[maxn],b[maxn]; int main(){ scanf("%s%s",a,b); int nb=strlen(b),na=strlen(a),...原创 2019-07-06 11:21:53 · 111 阅读 · 0 评论 -
Floyd算法求最小环
先放代码,再证明算法的正确性。 证明 我们给一个图做一个编号(1–n),也就是表示n个点。 对于每一个环(不包括自环),我们取这个环上点的最大编号k。 那么也就说与k相邻的两个点的编号小与k,我们记为 i 和 j 。 那么 i 与 j 之间的最短路经过点的编号显然小与 k ,不然 k 就要被赋予这个更大的值 那么我们跑 k-1 次循环就可以找到 i 与 j 的最短路。 我们假设最短路长度是dis...原创 2019-08-21 20:01:10 · 250 阅读 · 0 评论 -
Codeforces Round #584 - Dasha Code Championship - Elimination Round
A. Paint the Numbers 思路 把序列的数从小到大排序,然后从枚举第一个数为A颜色,然后贪心地取后面的数。取过的数标记取过了,后面就不需要以这个数枚举 复杂度:O(n2)O(n^2)O(n2) 代码 #include <bits/stdc++.h> using namespace std; typedef long long ll; int a[105]; bool ...原创 2019-09-15 11:23:21 · 114 阅读 · 0 评论 -
Arithmetic Progressions
题意 问从数列中取出尽可能多的数字使得这些数字成等差数列 思路 设dp[i][j]dp[i][j]dp[i][j]表示以v[i]和v[j]相邻构成的最长数列长度。 dp[i][j]=max(dp[i][j],dp[k][i]+1)(k属于[1,i−1](当且仅当2∗a[i]==a[j]+a[k])dp[i][j] =max(dp[i][j],dp[k][i] + 1)(k属于[1,i - 1](...原创 2019-09-19 16:47:37 · 173 阅读 · 0 评论 -
White Sheet
AC代码 #include <bits/stdc++.h> using namespace std; const double eps = 1e-9; struct Point{ double x, y; }p[10]; bool compare1(double a, double b){ if(a > b && fabs(a - b) > eps)...原创 2019-09-22 11:53:57 · 172 阅读 · 0 评论