贪心
Rocinantes
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #508 (Div. 2) D. Slime
#include <bits/stdc++.h> using namespace std; const int N = 500010; typedef long long ll; ll ans = 0; int main() { int n; cin >> n; if(n == 1) { int t;cin >>...原创 2020-06-03 23:57:30 · 141 阅读 · 0 评论 -
Codeforces Round #508 (Div. 2) B. Non-Coprime Partition
python写的这种构造方法真的好简单啊 nnn 和 1...n−11...n-11...n−1这样它的和一定是gcd=ngcd = ngcd=n c++写的这种方法是把奇数和偶数分开,这样也一定可以得到答案,有待证明 N = int(input()) if N <=2: print("No") else: i = 1 sum = 0 while (i &...原创 2020-06-03 23:57:54 · 84 阅读 · 0 评论 -
CodeForces 1223 C Save the Nature(二分)
传送门->SaveTheNature 自己写的代码实在过于啰嗦,和大佬学习了他的写法 这道题先对ppp数组排序 然后每次在nnn个数中二分一个midmidmid,然后checkcheckcheck当前的midmidmid看是不是符合ans≥kans \ge kans≥k的条件 #include <bits/stdc++.h> typedef long long ll; cons...原创 2020-04-14 19:57:41 · 276 阅读 · 0 评论 -
Codeforces Round #626 (Div. 2) B Count Subrectangles
传送门 思路: 每一段全为一出现的时候,每个比这一段长度小的长或者宽都会受到这段长度的贡献,然后相乘即可 #include <bits/stdc++.h> using namespace std; typedef long long ll; const int N = 4e4 + 10; vector<ll> count(vector<int> a) { ...原创 2020-03-09 19:02:16 · 175 阅读 · 0 评论 -
均分纸牌(贪心)
均分纸牌 题目: 有N堆纸牌,编号分别为 1,2,…,N。每堆上有若干张,但纸牌总数必为N的倍数。可以在任一堆上取若干张纸牌,然后移动。 移牌规则为:在编号为1堆上取的纸牌,只能移到编号为2的堆上;在编号为N的堆上取的纸牌,只能移到编号为N−1的堆上;其他堆上取的纸牌,可以移到相邻左边或右边的堆上。 现在要求找出一种移动方法,用最少的移动次数使每堆上纸牌数都一样多。 题解 对于每第一堆来说如果第一...原创 2020-02-02 21:05:18 · 392 阅读 · 0 评论