随笔分类 -  A-基础-贪心

摘要:Link: 传送门 代码量很少的一套思维题 A: 试一试发现最后状态一定是所有$min,max$间$gcd$的倍数 直接判断数量的奇偶性即可 #include <bits/stdc++.h> using namespace std; #define X first #define Y second 阅读全文
posted @ 2018-10-11 17:35 NewErA 阅读(226) 评论(0) 推荐(0)
摘要:Link: Codeforces 1053B 传送门 Solution: 其实就是暴力 观察需要满足的条件: 1、个数和为偶数 2、最大个数不大于其它所有个数的和 如果只有第一个条件记录前缀和的奇偶性即可,接下来考虑去除不符合第二个条件的区间 由于一个数最大有60个1且每个数至少有1个1,因此只要暴 阅读全文
posted @ 2018-09-26 10:24 NewErA 阅读(443) 评论(0) 推荐(0)
摘要:Link: ARC 066 传送门 C: 如果存在可行方案则答案为$2^{n/2}$ #include <bits/stdc++.h> using namespace std; #define X first #define Y second typedef long long ll; typede 阅读全文
posted @ 2018-08-28 14:31 NewErA 阅读(200) 评论(0) 推荐(0)
摘要:Link: Codeforces #196 传送门 A: 枚举 #include <bits/stdc++.h> using namespace std; #define X first #define Y second typedef long long ll; typedef pair<int, 阅读全文
posted @ 2018-08-23 11:52 NewErA 阅读(191) 评论(0) 推荐(0)
摘要:Link: Codeforces #190 传送门 A: 明显答案为$n+m-1$且能构造出来 #include <bits/stdc++.h> using namespace std; #define X first #define Y second typedef long long ll; t 阅读全文
posted @ 2018-08-20 18:43 NewErA 阅读(199) 评论(0) 推荐(0)
摘要:Link: AGC004 传送门 A: …… #include <bits/stdc++.h> using namespace std; long long a,b,c; int main() { scanf("%lld%lld%lld",&a,&b,&c); if(a%2==0||b%2==0|| 阅读全文
posted @ 2018-07-13 11:31 NewErA 阅读(161) 评论(0) 推荐(0)
摘要:Link: ARC065 传送门 C: 最好采取逆序贪心,否则要多考虑好几种情况 (从前往后贪心的话不能无脑选“dreamer”,"er"可能为"erase"/"eraser"的前缀) #include <bits/stdc++.h> using namespace std; string s; i 阅读全文
posted @ 2018-07-13 09:33 NewErA 阅读(285) 评论(0) 推荐(0)
摘要:Link: ARC064 传送门 C: 贪心+对边界的特殊处理 #include <bits/stdc++.h> using namespace std; typedef long long ll; const int MAXN=1e5+10; ll res=0; int n,x,dat[MAXN] 阅读全文
posted @ 2018-07-12 09:12 NewErA 阅读(154) 评论(0) 推荐(0)
摘要:Link: ARC063 传送门 C: 将每种颜色的连续出现称为一段,寻找总段数即可 #include <bits/stdc++.h> using namespace std; int cnt=0,len; char s[100005]; int main() { scanf("%s",s+1);l 阅读全文
posted @ 2018-07-10 21:12 NewErA 阅读(228) 评论(0) 推荐(0)
摘要:Link: AGC003 传送门 A: 判断如果一个方向有,其相反方向有没有即可 #include <bits/stdc++.h> using namespace std; char s[1005]; map<char,bool> mp; int main() { scanf("%s",s); fo 阅读全文
posted @ 2018-07-09 18:57 NewErA 阅读(218) 评论(0) 推荐(0)
摘要:Link: BZOJ 3668 传送门 Solution: 怎么回事啊,难道好好学贪心就能在NOI上切题了? 位运算相关题型的思路: 由于位运算以位为单位,因此每一位一般都是独立的,分别统计即可 因此对于此题我们对每一位都进行贪心策略: 1、如果该位在$m$之内,只要能最终变为1就计算贡献 2、如果 阅读全文
posted @ 2018-07-01 16:53 NewErA 阅读(196) 评论(0) 推荐(0)
摘要:Link: BZOJ 3152 传送门 Solution: 喜闻乐见,gyz出的语文题,题意要看半小时 题意:使用最少的括号将序列分割,对于每个括号中的序列,设最左边的数为$num$,序列中元素个数为$cnt$, 要保证:$num>=cnt$(括号括起来后算作一个元素)。一开始一个括号包含$[1,n 阅读全文
posted @ 2018-06-03 22:40 NewErA 阅读(279) 评论(0) 推荐(0)
摘要:Link:https://www.lydsy.com/JudgeOnline/problem.php?id=1193 Solution: 能立刻看出贪心算法,但发现在小数据时明显不适用 于是我们采取大数据时贪心,到一定范围时爆搜的算法 (似乎有点像AlphaGo的策略?) 在数据大于10时,我们每次 阅读全文
posted @ 2018-05-26 22:51 NewErA 阅读(297) 评论(0) 推荐(0)