摘要: #include<cstdio> #include<iostream> #include<queue> #include<algorithm> #define P1 20031101 #define P2 998244353 #define N 1000000 #define int long lo 阅读全文
posted @ 2019-10-31 20:12 paopo 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 给定无向图G,包含n个点m条边(不保证连通),求有序三元组(s,c,f)个数要求满足 s, c, f 都是图中的点,且存在一条从s到c的路径和一条从c到f的路径,使得两条路径没有公共点(除c外)。 在这里我们引进圆方树的概念。 但首先我们要了解一下点双和边双。 在无向图中: 点双:极大的 阅读全文
posted @ 2019-07-20 20:30 paopo 阅读(288) 评论(0) 推荐(1) 编辑
摘要: 由于用优先队列的Dijkstra在队列中一个点可能出现很多次,所以复杂度为 O(n+m)log(n+m),但是pd_ds优化的Dijkstra,复杂度可以达到 O(n+m)log(n)。 注:pb_ds中不会自动去重。 代码: 阅读全文
posted @ 2019-07-20 19:30 paopo 阅读(300) 评论(2) 推荐(0) 编辑
摘要: 模拟的时候切掉的,感觉这道题还是很好的。(虽然T1期望啥也不会积分瞎搞拿了个二十五分,T2好不容易搞了个字符串dp,最后数组还开小了……不过终于狗进前五) 题面描述: 构建一个N个点的有向图G,初始没有任何边。接下来构建一个长度为E的边的序列A,序列中每条边都是满足1≤s,t≤N且s≠t的有向边(s 阅读全文
posted @ 2019-07-02 20:40 paopo 阅读(224) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-06-30 18:01 paopo 阅读(557) 评论(0) 推荐(2) 编辑
摘要: 题面: 给定一个序列,对于一个区间,其价值为不在区间内的数之间的两两最大公约数的最大值,请求出所有长度<=n-2的区间的价值之和。 代码: 阅读全文
posted @ 2019-06-28 17:31 paopo 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 题目: 现在辛辛想要组一只队伍去屠杀巨龙,每个人都有一个能力值ai,而如果两个人之间的能力值差距过大,那么两个人就无法交流,然而每个人的沟通能力也是不同的,具体来讲,每个人只能接受能力值在[li,ri]内的人做他的队友。 辛辛想要多交朋友,所以他想让队伍里的人数尽可能的多,请你输出这个最多的人数。 阅读全文
posted @ 2019-06-28 17:09 paopo 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 我还真没想出来……不要怪我哦…… 我想的是一直往堆里塞数,知道数的个数超多n很多。 首先,这个超过很多很难把控,其次,复杂度不允许。 于是我们考虑一波dp: f [ i ] 表示第i个丑数,那么这个丑数 f [ i ] 一定等于 f [ k ] * a [ j ] (其中 k < i )。 那么我们 阅读全文
posted @ 2019-06-09 18:04 paopo 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 我和这道题的邂逅,是在那个曼妙的周五的夜晚。 作为一道模拟题,她很好地履行了她的职责,不让我会…… 言归正传… 其实在离模拟结束还有14分钟的时候我想出来了费用流的写法……(70分),但是显然我有一段时间没有写网络流了,再加上时间太短,就没有去写。 这道题和传纸条好像啊……我一开始考虑dp,但是范围 阅读全文
posted @ 2019-06-09 11:03 paopo 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 这题真的挺简单的……模拟的时候我十五分钟就切掉了…… 维护区间最值,查询的时候 w > 最大返回0,w <= 最小返回区间长度,否则找两个子区间。 我把模拟代码交到洛谷上50分……发现自己在找子区间的时候忘了pushdown……(模拟数据真的好水啊……听说直接暴力改都满分……) 但是常数可能有点大, 阅读全文
posted @ 2019-06-07 20:59 paopo 阅读(145) 评论(0) 推荐(0) 编辑