随笔分类 -  数据结构

1 2 3 4 5 ··· 7 下一页
摘要:https://codeforces.ml/contest/1389/problem/F 法一:dp,所有区间按右端点排序,依次考虑“如果最后一个区间为该区间”的最优情况,它(叫做A)可以从一个“右端点比A的左端点小”的异类区间B转移过来,但是同时可以顺便把“B的右端点以右”的同类区间算上。算上同类 阅读全文
posted @ 2020-08-04 00:25 Blue233333 阅读(166) 评论(0) 推荐(0)
摘要:$n \leq 100000$的字符串,多次问一个区间有多少位置不同的回文串。 先插空做一次manacher,得到每个字符往左右延伸的长度$f$数组。如ACAA变*A*C*A*A*,那么所有*的$f_k$实际对应的回文串数是$\frac{f_k}{2}$(一定整除),否则是$\frac{f_k+1} 阅读全文
posted @ 2018-07-12 15:52 Blue233333 阅读(233) 评论(1) 推荐(0)
摘要:$n \leq 300000$的一个排列,每次能交换相邻两个数,并且有一次机会交换不相邻的两个数,可以不用这个机会。问使这个排列升序最少操作几次。 如果没有“不相邻”,那就是当年入门的时候学的逆序对了。也就是说,这次机会希望把逆序对数尽可能减少。把排列变成点放在二维平面上,$(i,a_i)$,可以发 阅读全文
posted @ 2018-07-12 08:55 Blue233333 阅读(569) 评论(0) 推荐(0)
摘要:$n \leq 5e4$个平面上的点,从原点出发,能从当前点向左、右、上、左上或右上到达该方向最近的给定点。问三个问:一、最多经过多少点;二、前一问的方案;三、其所有方案种非左右走的边至少要开几辆挖掘机走完,挖掘机能从任意点出发,走路方式跟上面一样。 前两问: 纵坐标是增的可在不同层之间直接dp。同 阅读全文
posted @ 2018-07-10 18:37 Blue233333 阅读(305) 评论(0) 推荐(0)
摘要:$n \leq 100000$个数字,放进$k$叉树里,一个点只能放一个数,使所有数字乘以各自深度这个值之和最小的同时,最大深度的数字最小。 哈夫曼。这是我刚学OI那段时间看到的,感觉就是个很无聊的贪心,而且密码学我也不学深对哈夫曼的应用也了解不多,没想到出现在noi。 原来的哈夫曼只需要每次拿k个 阅读全文
posted @ 2018-07-10 11:34 Blue233333 阅读(194) 评论(0) 推荐(0)
摘要:$n \leq 1000000$个相等或不等关系描述一些变量,问能否成立,多组数据。 走错片场?普及题误入noi 1 //#include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 //#include<math.h> 5 //#inclu 阅读全文
posted @ 2018-07-09 14:35 Blue233333 阅读(218) 评论(0) 推荐(0)
摘要:$n \leq 500000$个区间,从中挑出一些,使得至少有一个点被$m$个选中区间包含,且选中区间长度的极差最小。 区间题死脑筋晚期:把区间按左端点排序,然后右端点用个优先队列来弹,然后需要维护下标相差$m$的数字差的最值,可以在$n^2$的时间完美拿到签到题的60分。 求极差嘛,就是关注最大最 阅读全文
posted @ 2018-07-02 19:36 Blue233333 阅读(235) 评论(0) 推荐(0)
摘要:$n \leq 100000$种蔬菜,每个蔬菜有:一单位价格;卖第一单位时额外价格;总量;每天腐烂量。每天能卖$m \leq 10$单位蔬菜,多次询问:前$k \leq 100000$天最多收入多少。价格、量$ \leq 1e9$。 我也不知道为啥88分QAQ 求大佬看看啊 把第一单位蔬菜和其他的拆 阅读全文
posted @ 2018-07-01 21:45 Blue233333 阅读(378) 评论(0) 推荐(0)
摘要:码农题gun。 阅读全文
posted @ 2018-06-24 22:02 Blue233333 阅读(134) 评论(0) 推荐(0)
摘要:$n \leq 200000$的$1 \leq a_i \leq 6$的蚯蚓,有三种操作:让一只队头蚯蚓接在一只队尾蚯蚓后面;让一队蚯蚓从某个蚯蚓后面断成两队;问:给个字符串,问他的。。算了你们直接看题吧 这什么沙雕题QAQ 所有询问的串只有$nk$种,把他们全丢进hash里面就好了。。注意双has 阅读全文
posted @ 2018-06-20 20:11 Blue233333 阅读(320) 评论(0) 推荐(0)
摘要:$n \leq 1000000$个操作:一,给$x$加上$a*2^b$;二,问$x$的某个二进制位$k$。$b,k \leq 30n$,$|a| \leq 1e9$。 30暴露了一切。。可以把30个二进制位压一位,进位用线段树找到第一个0,而退位用类似的方法找到第一个1。 但其实第$k$位只由加的总 阅读全文
posted @ 2018-06-20 18:56 Blue233333 阅读(278) 评论(0) 推荐(0)
摘要:$n \leq 2000000$的正数列,有一次机会把一段长度不超过$d$的数变成0,问最长的和不超过$p$的序列。 选的$d$区间一定是答案区间$[L,R]$的最大字段和。可以证明$R$往右时$L$不会往左。反证一下,假如出现了这种情况: 其中蓝色和绿色表示选中的$d$区间(绿不可能在R1左边,否 阅读全文
posted @ 2018-06-20 10:08 Blue233333 阅读(138) 评论(0) 推荐(0)
摘要:$n \leq 50000$个人,每个人有$K \leq 10$个属性,现对每一个前缀问:进行比赛,每次任意两人比任意属性,小的淘汰(保证同一属性不会出现两个相同的数),最终有几个人有可能获胜。 明显是一个竞赛图了,缩完点就是求拓扑序最高那个强连通分量的大小。现在要一个一个把人加入。 可以观察到,缩 阅读全文
posted @ 2018-06-16 10:28 Blue233333 阅读(314) 评论(0) 推荐(0)
摘要:$n \leq 100000$的数列给$m \leq 100000$个操作:操作一,单点修改;操作二,现给$t$种颜色,每种颜色数量给出,加起来为$n-1$,对除了询问给的$k$以外的每个数随机涂色;对一个$k$开始,公差$d$,往左右延伸的下标等差数列$a_i=k+id,L<=i<=R,L<=0< 阅读全文
posted @ 2018-06-13 20:55 Blue233333 阅读(196) 评论(0) 推荐(0)
摘要:$n \leq 100000$的树支持$m \leq 100000$个操作:每个点有两个权值$a$和$b$,一,链加;二,链上$b_i+=a_i*d$,问最后所有的$b_i$。 这个题我在看到之前有想过链上的情况,当时以为标记是O(1)下传的就没细想。现在看来需要一些特殊技巧。首先链剖加线段树。 方 阅读全文
posted @ 2018-06-11 20:53 Blue233333 阅读(197) 评论(0) 推荐(0)
摘要:$n \leq 50000$的序列,问选不超过$m \leq 50000$个区间使得和最大。 如果正数区间总数比$m$小那肯定全选。否则有两种方式减少区间数量:丢掉一个正区间;补一个负区间连接两个正区间。贪心即可。 先把左右端的负数去掉,然后把正区间和负区间处理出来。优先队列维护区间值,然后开个链表 阅读全文
posted @ 2018-06-11 13:35 Blue233333 阅读(248) 评论(0) 推荐(0)
摘要:$n \leq 5e5,m \leq 3e6$的DAG,问删掉某个点的最长路最短是多少,并输出这个点。 采用“整体去部分”的思想。先建一源一汇,源连所有点,所有点连汇。$f_i$--从$s$到$i$的最短路;$h_i$--从$i$到$t$的最短路,这俩数组拓扑一下可以算出。一条边对答案有$f_u+1 阅读全文
posted @ 2018-06-10 19:49 Blue233333 阅读(146) 评论(0) 推荐(0)
摘要:$n \leq 300000$的数列支持$m \leq 300000$个操作:在末端插入一个数;询问整个数列的所有后缀异或和中$[L,R]$这些后缀异或和,异或上数字$x$后的哪一个最大。数字$\leq 1e7$。 转前缀和,变成$pre_n \ \ xor \ \ pre_{p-1} \ \ xo 阅读全文
posted @ 2018-05-24 18:42 Blue233333 阅读(204) 评论(0) 推荐(0)
摘要:$n \leq 1e6$个区间,定义一个区间集合的权值为:并集大小-交集大小。求一个权值最大的大小至少为2的集合。 好题。 在一个区间集合中,可以发现除了左右端点涉及的区间外,里面剩余的区间越少,并集不会变但交集会越大,因此答案会更优。但我们需要集合大小至少为2,因此变成选两个区间。 左右端点可能涉 阅读全文
posted @ 2018-05-23 14:09 Blue233333 阅读(345) 评论(0) 推荐(0)
摘要:$n \leq 1000,m \leq 1000$,$n*m$的地图,每个格一个海拔,现在整个图都是水,问要多少个地方装抽水机能使所有指定位置被抽干(符合连通器原理)。 从小到大枚举每个指定格,然后有贡献的就是比当前指定格小的所有格,把他们用并查集搞起来。如果这样也不能使当前格被一个装了抽水机的并查 阅读全文
posted @ 2018-05-22 19:35 Blue233333 阅读(199) 评论(0) 推荐(0)

1 2 3 4 5 ··· 7 下一页