题意大概是给你一个字符串,1e5次修改,每次给一个区间升序排列或降序排列,最后输出这个字符串; 其实是个挺裸的线段树优化题;但是我没有意识去结合桶排,扑该..... 首先 1.40分算法 O(NMlogN) 1 inline void update(int k){ 2 for(int i=1;i<= ...
分类:
其他好文 时间:
2019-08-02 09:18:19
阅读次数:
87
Oh My Holy FFF Time Limit: 5000/2500 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Total Submission(s): 1368 Accepted Submission(s): 394 P ...
分类:
其他好文 时间:
2019-07-20 19:51:48
阅读次数:
92
题意: 就是给定一张n nn个点的图,求源点s ss到每个点的单源最短路。这张图共有q组边,连边方式有3种: a→b ,边权为w的单向边;a→[l,r] ,即a到连续区间[l,r]中的每一个点都有一条边权为w的边。[l,r]→a,即连续区间[l,r] 中的每一个点都有一条到a 边权为w 的边。注意数 ...
分类:
其他好文 时间:
2019-07-17 20:33:01
阅读次数:
123
线段树优化建图! 板子题吧 就是入树是上连下 原因是到达可以从父亲节点走到下面 然后出树是下连上 原因是可以进来以后再走到父亲节点再出发 具体建图可以看代码啦 就是建好了以后直接跑spfa就好啦【可能在国外spfa还没死。。。 //Love and Freedom. #include<cstdio> ...
分类:
其他好文 时间:
2019-06-21 09:52:29
阅读次数:
101
用并查集合并相同的点,答案为9 10^{并查集的块数 1}。 由“区间对区间的”可以联想到线段树优化之类的方法,换成倍增会更简单~ ~~~cpp include define ll long long using namespace std; const int N=1e5+10; const in ...
分类:
其他好文 时间:
2019-06-10 13:22:37
阅读次数:
66
线型dp+线段树优化 我们定义f[i]表示覆盖[L,i]的最小代价,我们将牛按照r递增排列,假设当前牛为[ai,bi],代价为vali 那么存在 我们在状态转移时,每次需要查询区间内的最值,同时f数组发生更新,因此我们可以用线段树的查询、修改在较快时间内维护f数组。 同时我们注意一下边界的处理即可。 ...
分类:
其他好文 时间:
2019-06-07 01:03:12
阅读次数:
87
题目链接: "codeforces 786B" 线段树优化建边的模板题 注意到暴力建边是$O(qlen)$,显然会超时 这种区间的问题一般把它放到线段树上有奇效,那我们就放到线段树上,线段树上的一个节点表示它所代表区间的连边情况 发现放在一棵线段树上效果好像也不明显,那就放在两棵线段树上 我们用一棵 ...
分类:
其他好文 时间:
2019-05-02 09:37:06
阅读次数:
126
题意:给一个序列以及$n$个查询,每一个查询是问(假装)把第$a_i$个数改为$b_i$之后原序列的最长上升子序列的长度。 思路:线段树优化$dp$。 肯定离线做啊。 首先我们考虑$dp$的状态是$dp_L(i)$表示以第$i$位为结束的最长上升子序列的长度和方案数$mod\ 998244353$。 ...
分类:
其他好文 时间:
2019-04-30 01:01:44
阅读次数:
160
题目链接:http://codeforces.com/contest/558/problem/E E. A Simple Task time limit per test5 seconds memory limit per test512 megabytes inputstandard input ...
分类:
编程语言 时间:
2019-04-27 00:27:26
阅读次数:
151
题目大意:给你$n$个点,第$i$个点有点权$v_i$。你需要将这$n$个点排成一排,第$i$个点的点权能被累加当且仅当这个点前面存在编号在$[l_i,r_i]$中的点,问你这些点应该如何排列,点权和才能最大。 数据范围:$n≤10^5$,$1≤v_i≤10^4$。 这题状压居然给了70分,场上压根 ...
分类:
其他好文 时间:
2019-04-03 09:21:21
阅读次数:
174