![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
acm
文章平均质量分 65
jokersio
这个作者很懒,什么都没留下…
展开
-
codeforces round705 解题报告
codeforces round705 解题报告A贪心,一眼题#include<bits/stdc++.h>#define MAXN 2100using namespace std;int n, k, T,num,a[MAXN];int main(){ cin >> T; while(T--) { cin >> n >> k; num = max(0, n - k); if原创 2021-03-11 17:12:48 · 97 阅读 · 0 评论 -
c++ STL汇总简易版(updating)
c++ STL汇总简易版(updating)目录c++ STL汇总简易版(updating)前言vector插入访问删除排序,reverse等map前言因为笔者从来没用系统学习过stl里的东西,导致很多时候的代码非常冗长,在这个篇章里面,笔者会系统地总结一些常用的stl函数和结构,以便以后复习。会不定期更新。vector可简单理解为动态开大小的数组插入for(int i=1;i<=5;i++) q.push_back(i*10);////在vector最后插入元素q.insert原创 2021-03-10 09:51:12 · 130 阅读 · 0 评论 -
codeforces educational round 105 题解
codeforces educational round 105 题解A一串只带有A,B,C的字符串,用“(”或“)”替换其中的字母,问能否构成正则表达式验证正则表达式的思路很常规,见左括号加1,右括号减1,中间不能出现负号,且最后的结果为0。枚举A,B,C分别为“(”或“)”的情况,共8种。#include<bits/stdc++.h>#define MAXN 200000using namespace std;int T,val[5][10];string s;int原创 2021-03-06 19:51:04 · 96 阅读 · 0 评论 -
codeforces round704(div 2)题解
codeforces round704(div 2)题解A签到#include<bits/stdc++.h>#define MAXN 200000#define int long longusing namespace std;inline int re(){ char f=getchar(); int x=0,k=1; while(f>'9'||f<'0') { if(f=='-') k=-1; f=g原创 2021-02-23 21:54:44 · 303 阅读 · 1 评论 -
ac自动机模板及感悟
ac自动机模板感悟今天第一次打出来了ac自动机这个模板。其一直被称为树上的kmp,但我觉得这句话很容易误导人,还是有些许不同。首先给一篇csdn上的讲解ac自动机构造fail数组他的核心是构造fail数组(即kmp中的nxt),用bfs的方法,先让第一层的所有结点fail只想root,同时将其入队列。入队列后的操作较为麻烦,文字描述比较苍白,我上图和代码。void getfail(){ queue<int> q; for(int i=0;i<26;i++) if(ch原创 2021-02-23 10:48:24 · 70 阅读 · 0 评论 -
线段树扫描线模板及感悟
线段树扫描线模板及感悟扫描线问题算是一个线段树问题的简单变种。模型是在一个平面内给n个有重叠部分的矩形,求其覆盖的面积。思路是将矩形的上下边界看作扫描线,同时离散化x坐标用线段树维护,维护的是离散后的每个区间不是离散后的点,是(n-1)个!!!!!维护两个值,一个是cnt即覆盖在其上方的矩阵数量(可通过扫描线是矩形的上边界还是下边界,从而+1/-1来判断),另一个是sum即每个区间内被覆盖的长度。而每次增加的面积就是sum[1]乘以两条扫描线之间的高度差。需要注意的是,因为我们每次只需要的是sum[1原创 2021-02-23 10:42:50 · 115 阅读 · 0 评论 -
atcoder dp专题(updating)
atcoder dp专题E是一个背包问题的变式,因为其背包容量达到了1e9,所以常规的一维数组无法存下,而每个物品的价值很小,所以我们将一维数组的下标定义为物品的价值。从寻找一定空间的最大价值,变式为一定价值所需的最小空间。for(int i=1;i<=n;i++) for(int j=MAXN-1;j>=c[i];j--) { dp[j]=min(dp[j],dp[j-c[i]]+w[i]); if(dp[j]<=m)原创 2021-02-02 10:34:20 · 756 阅读 · 0 评论 -
codeforces round696(div 2)题解(A-D)
codeforces round696(div 2)题解(A-D)这是笔者的第一次cf经历,发现自己真的是个菜逼,未来之路任重且道远。考试的时候写了A,B两个题,之后补了C,D。A对于两个0/1串,给定其串的长度和一个串a,求一个串b使,sum(a+b)=c最大,对于sum求得的新串c,规定c可以出现2,且c中的相同数字会被取代为一个。很裸的一个贪心,对于b串的每一位从高位依次向下枚举,首选为1,若1能保证c中不相同,则令其为1,反之则为0。#include<bits/stdc++.原创 2021-01-22 17:50:12 · 163 阅读 · 1 评论