ICPC
imiMppPpPpPpp
这个作者很懒,什么都没留下…
展开
-
2020ICPC 昆明 E Counting Binary Trees
题目链接 思路:感觉如果掌握杜教筛或min25筛的话就是一道挺简单的题,也不知道当初为什么不看。。。 不会latex,就发照片吧 推了两个式子(其实差不多,第二个少求一个sum(x) ),一个1000ms,一个700ms 下面放第一个式子。 代码1: #include<bits/stdc++.h> using namespace std; const int N=1e6+1500; typedef long long ll; int prime[N]; ll s[N],f[N],vis[N原创 2021-04-23 21:22:43 · 241 阅读 · 0 评论 -
2020ICPC 昆明 D Competition Against a Robot
题目链接 直接转载了 。 https://blog.csdn.net/qq_45323960/article/details/115559004转载 2021-04-23 19:22:23 · 274 阅读 · 0 评论 -
2020 昆明 C Cities
题目链接 思路: 考虑区间dp。 无法n^3的转移。 考虑如果一个区间如果左右两端左右端点相等(都是x),那么把这个区间的数都变成x的话所用步数最少。 然后因为同一种数最多出现15次,优化转移方法。 枚举一个区间时枚举左右两端相同的端点。 代码: #include<bits/stdc++.h> using namespace std; const int N=5e3+150; typedef long long ll; int dp[N][N],a[N],vis[112345],last[N]原创 2021-04-23 19:12:46 · 208 阅读 · 0 评论 -
ICPC昆明(A AC)
A AC 题意: 给你一个长度为n的字符串,你最多修改k次,问你字符串中最多能有多少个ac。 并要求你输出修改后的字符串。 思路: 让c[i]代表将str[i]变成'a',str[i+1]变成'c'所需要的最小花费。 然后问题变成了在花费不超过k的情况下,最多可以选择多少个互不相邻的位置i。 此时如果不考虑输出修改后的字符串,问题就变成了一个典型的反悔贪心问题。 用堆维护实现。 然后字符串的输出发现也可以利用上面代码上的 l数组,r数组维...原创 2021-04-08 19:07:09 · 516 阅读 · 0 评论