04 2021 档案

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