摘要: 顾名思义,就是对于每次操作,将用新的节点替代本应修改的节点。由于每次单点修改只会改log n个节点,所以动态开点可以做到空间是q log n + n的。 这是一棵对劲的线段树,要修改这一串红色的点。普通的线段树是直接修改。 对于可持久化线段树而言,则是新建一些节点,替换掉应该修改的节点。原来的节点不 阅读全文
posted @ 2018-01-29 15:54 echo6342 阅读(214) 评论(0) 推荐(0)
摘要: 并不对劲的片手流在为很对劲的太刀流调树剖时发现线段树写错了的时候整个人都不好了,决定反驳隔壁很对劲的太刀流并与之针锋相对。 很对劲的太刀流在这里-> 听上去像是熟练剖粪。 一棵树可以看成是很多条链组成的。那么把这些链拼成一条线,在树上进行区间操作时就可以将每次操作的部分拆成很多段连续的部分。这样就可 阅读全文
posted @ 2018-01-28 08:31 echo6342 阅读(448) 评论(0) 推荐(0)
摘要: 俗话说的好,心中有党,常数极小。 1、循环中加寄存器优化for(register int i;i<=n;i++){} 好像在开O2时这个没什么用。 2、函数前inline int f(int x){} 当调用函数本身的时间长度比执行函数的更长时效果会更显著。配合read()、write()使用更佳。 阅读全文
posted @ 2018-01-24 20:21 echo6342 阅读(280) 评论(0) 推荐(0)
摘要: 先膜一波宽神Orz%%%%% 拿到这题的第一反应就是:暴力啊!感觉神奇的钟点并没有什么性质,可能卡常能过吧……所以就写了一个O(22^3*59^3)的暴力。本来想打表,但是发现代码长度有限制,写不下。写完后发现,总共只有127034种神奇的钟点,所以当k特别大时,直接输出-1就可以了。如果数据纯随机 阅读全文
posted @ 2018-01-24 19:57 echo6342 阅读(364) 评论(0) 推荐(0)
摘要: 题意是求一个字符串每个长度的子串出现次数最多的那个出现了多少次,也就是求每个到根的最长路的right集合最大值 。 先建后缀自动机,然后将每个前缀所在的集合的初值设为1,因为所有前缀的right集合肯定不相同,而且它们包含了所有位置。 接下来按到根的最长距离从大到小排序,将right集合累加到par 阅读全文
posted @ 2018-01-19 17:48 echo6342 阅读(164) 评论(0) 推荐(0)
摘要: Time Limit: 20 Sec Memory Limit: 162 MB Submit: 931 Solved: 509 [Submit][Status][Discuss] Description Z国坐落于遥远而又神奇的东方半岛上,在小Z的统治时代公路成为这里主要的交通手段。Z国共有n座城市 阅读全文
posted @ 2018-01-19 17:18 echo6342 阅读(161) 评论(0) 推荐(0)
摘要: 题目描述 在一个有 m*n 个方格的棋盘中,每个方格中有一个正整数。现要从方格中取数,使任意 2 个数所在方格没有公共边,且取出的数的总和最大。试设计一个满足要求的取数算法。对于给定的方格棋盘,按照取数要求编程找出总和最大的数。 输入输出格式 输入格式: 第 1 行有 2 个正整数 m 和 n,分别 阅读全文
posted @ 2018-01-19 16:16 echo6342 阅读(232) 评论(0) 推荐(0)
摘要: 三倍经验题! ********************题目略长********************** 题目描述 一个餐厅在相继的N天里,第i天需要ri块餐巾(i=l,2,…,N)。餐厅可以从三种途径获得餐巾。 (1)购买新的餐巾,每块需p分; (2)把用过的餐巾送到快洗部,洗一块需m天,费用需 阅读全文
posted @ 2018-01-19 16:05 echo6342 阅读(335) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2018-01-19 15:48 echo6342 阅读(13) 评论(0) 推荐(0)
摘要: 最小费用最大流肯定要保证最大流,所以它和最大流有一些类似的性质。如果把费用看成边,就可以每次走最短路(保证费用最小),走到不能走为止(保证最大流)。费用流版的ek就是这样。需要注意的是,反向弧的边权为它对应的正向弧的费用的相反数,所以最短路要用spfa来求。 费用流版的dinic,又叫zkw费用流, 阅读全文
posted @ 2018-01-19 15:34 echo6342 阅读(143) 评论(0) 推荐(0)