摘要:
edcc缩点之后跳倍增lca 丢个edcc缩点模板 Code: 阅读全文
摘要:
简单dp,设$f_{i,j,k}$表示第i个时间段,钢琴处在(j,k)位置移动距离的最大值,那么有转移 $f_{i, j, k} = max(f_{i - 1, j, k}) , f_{i, j, k} = max(f_{i - 1, a, b})$ 其中 $j - dx_{d_{i}} * len 阅读全文
摘要:
区间修改单点查询,又观察到是一个k小,考虑主席树上做差分 一开始样例疯狂挂,后来发现主席树在一个历史版本上只能修改一次,所以要开2*n个根结点,记录一下每个时间对应的根结点编号 然后80分,考虑到当一个排名的结点有w个而查询的k<w时会使答案变大,所以特判(但是一开始又喜闻乐见地把符号写反了)~一通 阅读全文
摘要:
感觉...昨天是真的傻... 题意 T个询问,每个询问给一个n,求 $ \frac{\sum_{n}^{i = 1}Fib_{i} * i}{n * (n + 1) / 2} $ Fib是斐波那契数列,对998244353取模 然后...我昨天把n乘了之后就忘记取模了... 30分做法 设$ a_{ 阅读全文
摘要:
字胡串什么的一直不太会,感觉这题…还蛮本质的 考虑暴力求解:num[i]相当于从一直跳nxt,如果nxt[j] * 2 <= i 那么就累加答案 其实这是一个树的结构,也就是说跳到一个结点满足条件,那么它上面的结点一定都满足,所以在求nxt的时候顺便递推一下每一个结点的答案,那么模拟一下匹配nxt的 阅读全文
摘要:
第一反应是打表找规律……(写了个prim)但是太菜了没找到 于是开始怀疑是不是我的表错了,又写了一个克鲁斯卡尔,然后结果是一样的……(捂脸) 后来从克鲁斯卡尔的算法上发现了一点东西,发现只有2的幂次长度的边才会对答案产生贡献。假设有n个点,那么就相当于把n - 1的点连入MST,打表找规律可得一个二 阅读全文
摘要:
dp题,类似于01背包的转移 需要注意的是:背包容量在有的时候可能为负数,所以需要算出最大数据量整体平移 像01背包一样直接倒序循环j并不能保证每一个物品只选一个,两个等价的物品在计算时可能会重复使用 所以把i(物品)放在最后一维,通过chk函数来检查该物品此前是否已经选过,从而保证转移的正确性 继 阅读全文
摘要:
bzoj1999 数据加强版(n <= 5e5) 较早的noip题,值得研究 重要结论:直径的最长性,任何从直径中离开直径的点到它离开的点的距离,都不会比直径的另一端到它离开的点长(否则就有新的直径出现了嘛) 在求不经过直径的最长距离的时候犯错了,要考虑的是最远的点到现在点的距离,而不是只考虑儿子, 阅读全文
摘要:
应该是基础的dp练手题 线性dp最主要的就是关于阶段的划分,这个题中我没想到的一点就是开状态的时候使用了前i个数能合成的数来记录 我自己的想法就是类似于区间dp这样的记录方法,这种方法确实开了很多冗余的状态而造成了整道题卡住…… 题目中的添减号和括号,实际上可以转化为添加号,这样子最后输出的时候就可 阅读全文
摘要:
我真的写不来cdq啊…… 树套树卡常丧心病狂(作死套了fhqTreap……) 注意最后对于完全一样的点, 要在这些点的贡献都添加完了之后一起算答案 Code: 阅读全文