上一页 1 2 3 4 5 6 7 8 9 ··· 12 下一页
摘要: 如果出现某些询问一堆东西的和的时候(如LCA的深度和),我们可以考虑不要把这些东西每一个都全部求出来,而应该考虑合并这些询问然后一次性询问他们的和。(例如用树剖转化为区间加和和区间询问) 具体思路见hzw博客 #include<iostream> #include<cstdio> #include< 阅读全文
posted @ 2021-09-03 18:54 lei_yu 阅读(25) 评论(0) 推荐(0) 编辑
摘要: #询问一个区间是否为一个排列,通常记录左右第一个在哪里出现。 从两遍往中间扫,发现某一个点满足第一个左右两边的数都不在当前区间范围内,那么他可以把区间分为两个部分且他自己满足条件,(因为要连续)继续递归求解即可。 由于两边同时计算,复杂度为$O(nlogn)$ #include<iostream> 阅读全文
posted @ 2021-09-03 18:44 lei_yu 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 动态树形dp模板题 首先有sigma肯定不能矩阵优化了。 于是我们定义g(x)表示轻儿子的全部贡献,这样每一次修改只会修改logn次g(重链剖分的性质) 由于dp边界在叶子结点,我们需要记录每一条重链的结束位置。 用线段树统计一路上来矩阵乘法的值,该修改的修改最后询问根就是答案了。 (还是序列上的简 阅读全文
posted @ 2021-09-03 18:41 lei_yu 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 每道题对期望贡献可以单独计算。 因为它们不会互相影响。 显然一道题做对的概率=期望=\(\frac{min(n,m)}{nm}\) #include<bits/stdc++.h> using namespace std; #define orz cout<<"lyakioi!!!!!!!!!!!!! 阅读全文
posted @ 2021-09-03 18:37 lei_yu 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 其中一条道路的期望贡献为 \(\huge{\frac{dis}{s}}\) 全部的期望为 \(\huge{\frac{\sum dis}{s}}\) 其中s为路径条数 建反图拓扑排序就能求出。 #include<bits/stdc++.h> #include<queue> #define int l 阅读全文
posted @ 2021-09-03 18:35 lei_yu 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 贪心,能倒就倒,能往左就往左实在不行往右 因为倒不倒都只影响下一棵树 大不了下一个不倒还对后面更优。 #include<bits/stdc++.h> using namespace std; #define orz cout<<"lyakioi!!!!!!!!!!!!!!!!!"<<endl inl 阅读全文
posted @ 2021-09-03 18:28 lei_yu 阅读(34) 评论(0) 推荐(0) 编辑
摘要: A从来不会难,就是一个简单的构造。 从样例就可获得启发 利用 \(1\) \(1+k\) \(1+k-(k-1)\) \(1+k-(k-1)+(k+2)\) 这样的方式,正好$k$个数便可以满足有k种不同差值的数。 因为$n>k$,所以必然正确。 后面就k+1,k+2,...,n即可 #includ 阅读全文
posted @ 2021-09-03 18:27 lei_yu 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 贪心。 从最小的马开始考虑。我们肯定优先让这匹最小的马赢。 实在赢不了了就去自杀。这样可以保证最优,因为不管哪匹马都是一样的代价,虽然小的把可以赢的位置占了,但是大的可以有更多机会赢其他马,所以这样是对的。 但是还要考虑平局。 平局到底打不打? 要分情况讨论。 1、如果有一个更大的马只能自杀,那我们 阅读全文
posted @ 2021-09-03 18:24 lei_yu 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 一般的树上贪心都是从叶子贪到根,这样才能保证最优。 所以这个题就是从叶子开始贪心就可以,正确性显然。 #include<bits/stdc++.h> #define int long long using namespace std; #define orz cout<<"lyakioi!!!!!! 阅读全文
posted @ 2021-09-03 18:19 lei_yu 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 比较神奇的一道贪心/思维题 令i指向a[i]离散化后的值,显然会出现一些环的图。 一定是在环内交换,否则不可能更优。 如何交换? \(1>2>3>4>1\) 通过模拟,我们可以发现两种交换方式: 1 2 2 3 3 4 4 1 3 1 2 1 明显第二种更优 然后就WA了。 可以发现如果环外如果有一 阅读全文
posted @ 2021-09-03 18:18 lei_yu 阅读(48) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 12 下一页