04 2021 档案
摘要:by luogu 可用于练习线段树 这里涉及到了开方操作 和 + * 不同,它的运算次数大大减小 只有大概8次操作就会到1 而1无论开多少次的方 都是1 所以可以去掉懒标了 这里的mark所记录的是区间最大值 若最大值都为1,那么也就吗,没有必要再进行计算 但是修改的话 还是需要一次到底(l==r)
阅读全文
摘要:给定一个仅包含小写英文字母的字符串,求该字符串含有的本质不同的子串数量。 注:这道题是 SPOJ-694 的加强版 #include<bits/stdc++.h> using namespace std; //SAM 统计本质不同的子串个数 int fail[100050],len[100050];
阅读全文
摘要:看上去很友好,跟很多题好像都有相同的地方qwq 实际上还是有些区别的 ‘ 这 个 二 分 有 些 巧 妙 ’ #include<bits/stdc++.h> #define int long long using namespace std; int n; int a[100005]; //来源lu
阅读全文
摘要:树链剖分板子 ((板子还没办法一遍默下来而写新题的我太菜了 这个题只需要查询和上传 因为每次走一次,因为有顺序,所以在传的时候要特殊注意。。。 【一开始80,re+wa;改了下数组大小90,tle;最后吸氧ac【 1 #include<bits/stdc++.h> 2 3 #define mid (
阅读全文
摘要:#include <bits/stdc++.h> using namespace std; int t, n; long long s[200020];//区间起点 long long e[200020];//终点 long long d[200020];//每次加的数 bool ok(long l
阅读全文
摘要:是luogu和博客园双线stop哦~~ luogu 另外欢迎大家和我这个蒟蒻做朋友... ... 挂友链的话,私信我luogu吧~~
阅读全文
摘要:很显然的区间dp 当我们卖掉一个物品时,可以看为给延后卖的商品都加价 $ dp [ i ] [ j ] $ 表示卖掉i~j的最大收益 #include<bits/stdc++.h> using namespace std; int n; int v[2021]; int dp[2021][2021]
阅读全文
摘要:题意 题意需认真读 每次去 行/列 是动态要更新值的 .luogu标为橘题但是我还是思路有些乱 我们可以找到一个式子来求值 $ ( n+1 ) * n/2 - l + ( n - sy ) $和 $ (1 + n ) * n/2 - r + f * ( n - sx )$ 至此可以求出此列的值 所以
阅读全文
摘要:由于两回的路线不相交 所以可以看为两个路径一上一下 代码可以用滚动数组写 也可三维,枚坐标,而另一个可以算出来 四位就很显而易见了 for(int i=1;i<=n;i++) {// dp[i][j][k][p]表示 for(int j=1;j<=m;j++) {//从ij到kp的最小值 for(i
阅读全文

浙公网安备 33010602011771号