随笔分类 -  其他 - 模型/总结/重要

上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 32 下一页
摘要:我们发现,如果我们打数字牌后,就不能打 0 了. 分两种情况讨论即可. code: #include <bits/stdc++.h> #define N 200008 #define ll long long #define setIO(s) freopen(s".in","r",stdin) us 阅读全文
posted @ 2020-03-04 22:06 EM-LGH 阅读(143) 评论(0) 推荐(0)
摘要:如果 $k$ 值确定的话,我们直接来一个 $O(n)$ 的贪心就行. 那么我们就将 $k$ 分为大于 $B$ 和小于 $B$ 两部分处理. 对于小于 $B$ 的部分,暴力处理,复杂度为 $O(nB)$. 对于大于 $B$ 的部分,取值分别为 $[0,\frac{n}{B}]$ 且依次递减. 那么我们 阅读全文
posted @ 2020-03-04 21:00 EM-LGH 阅读(187) 评论(0) 推荐(0)
摘要:这道题的数据范围中有两个需要注意到的点: 1. 边都是由编号小的点连向编号大的点. 2. 总点数只有 $10^5$ 个. 所以我们可以考虑采取根号分治的做法: 对于点数大于 $\sqrt n$ 的部分,直接跑一个 $O(n)$ 的 DP. 对于点数小于 $\sqrt n$ 的部分,提前预处理. 这样 阅读全文
posted @ 2020-03-04 20:11 EM-LGH 阅读(265) 评论(0) 推荐(0)
摘要:这种问题设最裸的状态就好了. 令 $f[i][j]$ 表示 $i \times j$ 矩阵的答案. 然后直接转移就行了. code: #include <bits/stdc++.h> #define N 3004 #define ll long long #define mod 1000000007 阅读全文
posted @ 2020-03-03 23:05 EM-LGH 阅读(281) 评论(0) 推荐(0)
摘要:好神仙的一道字符串题! 由于后缀自动机+线段树合并的题做多了,看到复杂字符串的时候直接往 right 集合和后缀树那方面想了. 所以就没想出来 QAQ.... 这道题还是要从序列上来思考. 我们发现最优解一定可以表示成一个长度依次为 $1$ ~ $ans$ 字符串集合. 令 $dp[i]$ 表示以 阅读全文
posted @ 2020-03-03 20:58 EM-LGH 阅读(166) 评论(0) 推荐(0)
摘要:朴素的高斯消元是 $O(n^3)$ 的,但是由于叶节点是终止节点,所以可以逐层向上推成 $k\times f(fa)+b$ 的形式. 推到根节点时直接取根节点的 $b$ 值就可以了. code: #include <cstdio> #include <cstring> #include <algor 阅读全文
posted @ 2020-03-03 00:06 EM-LGH 阅读(222) 评论(0) 推荐(0)
摘要:维护 $dp[i]$ 表示长度为 $i$ 的 $LIS$ 的最小结尾长度. 然后每次我们新加入一个区间 $[l,r]$ ,这个可以用平衡树来维护:区间平移,区间+1,单点赋值. 调不出来QAQ.... code: #include <cstdio> #include <string> #includ 阅读全文
posted @ 2020-03-02 23:09 EM-LGH 阅读(230) 评论(0) 推荐(0)
摘要:非常好的一道题. 我们考虑枚举哪些三元组不能成为答案. 然后你发现这成了一个立方体并问题. 通过枚举 $c$ ,可以将问题转化为二维矩形并问题. 由于从大到小枚举 $c$,所以并是不断增大的,然后增大的话就会让 $a/b$ 延伸到极大值位置. 所以只有 $a,b$ 是单调的,才会对答案有影响,这么更 阅读全文
posted @ 2020-03-02 18:01 EM-LGH 阅读(144) 评论(0) 推荐(0)
摘要:显然先用单调栈求出一个位置向左/右延申的最大长度(即这些区间中当前位置是最大值位置) 然后我们发现我们可以离线,然后按照最大值位置依次添加线段,每次用线段树查一个区间和. 然后我们想查满足最大值位置在 $[l,r]$ 之间,$[l,r]$ 内区间和. 这个显然满足可减性(即最大值位置在 $[1,r] 阅读全文
posted @ 2020-02-29 17:41 EM-LGH 阅读(221) 评论(0) 推荐(0)
摘要:A Prefix Sum Primes 显然,除了 2 以外的质数都是奇数,所以最优的排布方式应该是 21222222.... 然后 2 不够的时候再放 1 code: #include <bits/stdc++.h> #define N 200009 #define setIO(s) freope 阅读全文
posted @ 2020-02-29 15:22 EM-LGH 阅读(143) 评论(0) 推荐(0)
摘要:神题呀,我们观察到行走的方式一定是一条链+若干条环. 然后环可以看成是一对括号,所以来一个基于括号序的 DP. code: #include <bits/stdc++.h> #define ll long long #define N 3040 #define setIO(s) freopen(s" 阅读全文
posted @ 2020-02-28 23:30 EM-LGH 阅读(232) 评论(0) 推荐(0)
摘要:这种图论问题都挺考验小思维的. 首先,我们把从 $x$ 连出去两条边的都合并了. 然后再去合并从 $x$ 连出去一条原有边与一条新边的情况. 第一种情况直接枚举就行,第二种情况来一个多源 bfs 即可. code: #include <cstdio> #include <string> #inclu 阅读全文
posted @ 2020-02-28 17:23 EM-LGH 阅读(286) 评论(0) 推荐(0)
摘要:用 LCT 维护颜色相同连通块,然后在线段树上查一下逆序对个数就可以了. code: #include <cstdio> #include <algorithm> #include <cstring> #include <string> #define N 100005 #define ll lon 阅读全文
posted @ 2020-02-28 16:46 EM-LGH 阅读(226) 评论(0) 推荐(0)
摘要:非常好的一道图论问题. 显然,我们要求城市间的最小生成树,然后查询路径最大值. 然后我们有一个非常神的处理方法:进行多源 BFS,处理出每一个城市的管辖范围. 显然,如果两个城市的管辖范围没有交集的话连边一定不是优秀的(一定会有一种都在管辖范围之内的连边方式来代替这种连边方式) 然后由于每一个点只属 阅读全文
posted @ 2020-02-28 09:20 EM-LGH 阅读(311) 评论(0) 推荐(0)
摘要:显然,我们可以将询问按照规定时间从小到大排序,依次处理. 那么我们显然要求合法的点中从 $n$ 号点出发到达点 $i$ 的最迟时间,我们令这个为 $f[i]$ 而 $f[i]$ 显然可以用最短路来求. 如果求 $n$ 次最短路的话显然超时,但是我们可以对于每一个节点所连边排序,然后每次枚举之前没有扩 阅读全文
posted @ 2020-02-28 00:01 EM-LGH 阅读(157) 评论(0) 推荐(0)
摘要:好神的一道计数题呀. code: #include <cstdio> #include <algorithm> #include <cstring> #define N 5000003 #define ll long long #define mod 998244353 #define setIO( 阅读全文
posted @ 2020-02-27 22:41 EM-LGH 阅读(165) 评论(0) 推荐(0)
摘要:分类讨论一下奇环和偶环的情况. code: #include <bits/stdc++.h> #define N 200006 #define setIO(s) freopen(s".in","r",stdin) using namespace std; int edges=1; int hd[N] 阅读全文
posted @ 2020-02-25 22:26 EM-LGH 阅读(111) 评论(0) 推荐(0)
摘要:题意:略 我们发现对于 $n$ 棵树,有用的是所有树的相对大小关系. 而随机生成 $[0,1]$ 之间的实数的相对大小关系可以等价于随机生成一个排列的相对大小关系(我们可以认为这个小数是无限长的,一定能比较出两者大小) 此问题就转化为:对于 $n!$ 种排列,权值综合为多少 $?$ 我们定义一些互相 阅读全文
posted @ 2020-02-25 15:19 EM-LGH 阅读(166) 评论(0) 推荐(0)
摘要:树的计数问题考虑使用 Prufer 序列,那么对于一颗合法的树有 $\sum deg[i]-1=n-2$. 对于每个点的度数都确定的情况,方案数为 $\frac{n-2}{\prod a[i]}$. 构建生成函数 $F(x)=\sum_{i=0}^{m-1} \frac{x^i}{i!}$,然后 $ 阅读全文
posted @ 2020-02-24 22:04 EM-LGH 阅读(144) 评论(0) 推荐(0)
摘要:这道题真的还是简单的一批..... 我当时要是参加考试的话该多好(凭这一道题就能进前 5 了) 十分显然的指数型生成函数. 令 $f[i]$ 表示有 $i$ 个点的答案. 然后显然有 $f[i]=\sum_{j=1}^{i}\binom{i}{j} \times \frac{j!}{j} \time 阅读全文
posted @ 2020-02-24 10:50 EM-LGH 阅读(150) 评论(0) 推荐(0)

上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 32 下一页