摘要: 1 namespace LCT{ 2 int top,son[maxn][2],fa[maxn],stk[maxn],rev[maxn],val[maxn],tag[maxn]; 3 il void pushup(int x) 4 { 5 tag[x]=x; 6 if(val[tag[x]]>val 阅读全文
posted @ 2019-07-27 17:15 Amori 阅读(156) 评论(0) 推荐(0) 编辑
摘要: ——本题来自杭电多校第一场 题意:给定一个字符串,主角需要用打字机将字符串打出来,每次可以: 1.花费p来打出任意一个字符 2.花费q来将已经打出的某一段(子串)复制到后面去 对于这种最优化的问题,我们可以考虑dp 设置dp[i]表示已经打出前i个字符的最小花费,这样设状态是没有后效性的。 那么显然 阅读全文
posted @ 2019-07-23 15:38 Amori 阅读(805) 评论(0) 推荐(0) 编辑
摘要: 学习了一下点分治 POJ 1741(由于poj不支持c++11和bits,改一下即可ac) 1 #include<bits/stdc++.h> 2 using namespace std; 3 #define ll long long 4 struct edge 5 { 6 int to,val; 阅读全文
posted @ 2019-05-13 18:42 Amori 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 题意是模拟一个循环,一开始有一个空序列,之后每次循环: 1.从1到m中随机选出一个数字添加进去,每个数字被选的概率相同。 2.检查这个序列的gcd是否为1,如果为1则停止,若否则重复1操作直至gcd为1为止。 求这个序列的长度期望。 也是花了一晚上学习了一下期望dp。 设dp[i]表示当前gcd为i 阅读全文
posted @ 2019-03-22 03:52 Amori 阅读(609) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.luogu.org/problemnew/show/P3369 修改了一下之前的模板,支持重复数值的存储 1 #include<bits/stdc++.h> 2 using namespace std; 3 struct node 4 { 5 int val; 6 阅读全文
posted @ 2019-02-22 13:30 Amori 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 题意是,给出n个k维空间下的点,然后q次操作,每次操作要么修改其中一个点的坐标,要么查询下标为[l,r]区间中所有点中两点的最大曼哈顿距离。 思路:参考blog:https://blog.csdn.net/Anxdada/article/details/81980574,里面讲了k维空间中的最大曼哈 阅读全文
posted @ 2018-12-16 15:16 Amori 阅读(528) 评论(0) 推荐(0) 编辑
摘要: 比赛的时候看到题意没多想就放弃了。结果最后D也没做出来,还掉分了,所以还是题目做的太少,人太菜。 回到正题: 题意:一棵树,点带权值,然后求k个子连通块,使得k个连通块内所有的点权值相加作为分子除以k的值最大,如果这样的最大值有多个,就最大化k。 赛后看了看别人的代码仔细想了一想,还是挺容易的。 首 阅读全文
posted @ 2018-12-05 01:37 Amori 阅读(506) 评论(0) 推荐(0) 编辑
摘要: 先贴代码,开坑待填 Tarjan算法: 强连通分量(边双联通分量):(堆栈存点) 1 int head[maxn]; 2 struct edge 3 { 4 int to,nxt,from; 5 }e[50005]; 6 int cnt; 7 inline void addedge(int u,in 阅读全文
posted @ 2018-11-28 17:26 Amori 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 一只只会后缀自动机却不会后缀数组的弱鸡做了一下HDU - 1403,结果SAM被卡内存了,然后学习了一下SA。 以下两道题都是求LCS,区别在于字符串长度。 参考blog:https://www.cnblogs.com/victorique/p/8480093.html HDU - 1403 1 # 阅读全文
posted @ 2018-11-24 14:17 Amori 阅读(412) 评论(0) 推荐(1) 编辑
摘要: 学习了线段树的新姿势,记录一下。 参考blog:https://blog.csdn.net/sunyutian1998/article/details/79618316 HDU 1540: query的时候m-ql+1和qr-m写成了m-l+1、r-m,wa了几发之后才找到bug。 错误样例: 10 阅读全文
posted @ 2018-11-19 14:20 Amori 阅读(258) 评论(0) 推荐(0) 编辑