随笔分类 -  题库—洛谷

上一页 1 2 3 4 5 6 7 8 9 ··· 29 下一页
摘要:题意 "题目链接" Sol 首先不难想到一种贪心策略:能弹则弹,优先放A 然后xjb写了写发现只有$40$,原因是存在需要决策的情况 比如 $A = {10}$ $B = {8}$ 现在进来一个$7$,看上去很难判断$7$到底放在哪里,如果放$A$,后面来个$9$,再来个$6$,我们就凉了。 但是如 阅读全文
posted @ 2018-10-27 15:23 自为风月马前卒 阅读(425) 评论(1) 推荐(1)
摘要:题意 "题目链接" Sol 这题。。。。我样例没过就A了??。。算了,就当是样例卡精度吧。。 直接状压dp一下,$f[sta]$表示干掉$sta$这个集合里面的鸟的最小操作数 转移的时候判断一下一次能干掉多少鸟。。 cpp include define LL long long using name 阅读全文
posted @ 2018-10-26 17:44 自为风月马前卒 阅读(278) 评论(0) 推荐(0)
摘要:题意 "题目链接" Sol 早年NOIP的题锅好多啊。。 这题连有向边还是无向边都没说(~~害的我wa了一遍~~) 直接$f[i]$表示到第$i$个点的贡献 转移的时候枚举从哪个点转移而来 然后我就用一个$n^2$的算法过了一道$n \leqslant 20$的题??。。 阅读全文
posted @ 2018-10-25 14:35 自为风月马前卒 阅读(439) 评论(0) 推荐(1)
摘要:题意 "题目链接" Sol 直接用$f[i][0/1]$表示到第$i$个位置,该位置是以上升结尾还是以下降结尾 转移的时候只需枚举前一个即可 cpp include include using namespace std; const int MAXN = 1e6 + 10; inline int 阅读全文
posted @ 2018-10-25 14:17 自为风月马前卒 阅读(287) 评论(0) 推荐(0)
摘要:题意 "题目链接" Sol 很显然的dp,设$f[i][j]$表示第$i$个位置,高度为$j$的最小步数 向上转移的时候是完全背包 向下转移判断一下就可以 cpp include define Fin(x) {freopen(x, "r", stdin);} define chmin(a, b) ( 阅读全文
posted @ 2018-10-24 07:44 自为风月马前卒 阅读(311) 评论(0) 推荐(0)
摘要:题意 "题目链接" Sol 出这种题会被婊死的吧。。。 首先不难想到暴力判断,然后发现连读入都是个问题。 对于$a[i]$取模之后再判断就行了。注意判断可能会出现误差,可以多找几个模数 cpp include define Fin(x) {freopen(x, "r", stdin);} defin 阅读全文
posted @ 2018-10-23 11:44 自为风月马前卒 阅读(362) 评论(0) 推荐(0)
摘要:题意 "题目链接" Sol 不算很难的一道题 首先要保证权值最小,不难想到一种贪心策略,即把两个序列中rank相同的数放到同一个位置 证明也比较trivial。假设$A$中有两个元素$a, b$,$B$中有两个元素$c, d$ 然后分别讨论一下当$a define lb(x) (x & x) def 阅读全文
posted @ 2018-10-23 10:11 自为风月马前卒 阅读(276) 评论(0) 推荐(0)
摘要:题意 "题目链接" Sol 这题没有想象中的那么难,但也绝对不简单。 首先把所有的询问离线,按照出现的顺序。维护时间轴来处理每个询问 对于每个询问$(x_i, y_i)$,可以二分答案$mid$。 问题转化为对于所有$a_i \leqslant y_i \leqslant b_i$的商店,$(x m 阅读全文
posted @ 2018-10-22 19:10 自为风月马前卒 阅读(481) 评论(7) 推荐(0)
摘要:题意 "题目链接" Sol zz floyd。 很显然的一个dp方程$f[i][j][k][l]$表示从$i$到$j$经过了$k$条边的最小权值 可以证明最优路径的长度一定$\leqslant N$ 然后一波$n^4$ dp就完了 cpp include include include using 阅读全文
posted @ 2018-10-16 21:13 自为风月马前卒 阅读(316) 评论(0) 推荐(0)
摘要:题意 "题目链接" Sol 比较套路吧,设$f[i][j]$表示以$i$为根的子树中选了$j$个黑点对答案的贡献 然后考虑每条边的贡献,边的两边的答案都是可以算出来的 转移的时候背包一下。 cpp include define Pair pair define fi first define se 阅读全文
posted @ 2018-10-10 21:23 自为风月马前卒 阅读(329) 评论(0) 推荐(1)
摘要:题意 "题目链接" Sol 只要知道“回文连续子串”就能做了吧。。 想要满足这个条件,肯定是不能出现$aa$或$aba$这种情况 如果没有$S$的限制,答案为$K (K 1) \prod_{i = 3}^n (k 2)$ 如果有$S$的限制就除一个$K$ 然而考场上没注意到会乘爆long long于 阅读全文
posted @ 2018-10-08 21:08 自为风月马前卒 阅读(381) 评论(0) 推荐(0)
摘要:题意 "题目链接" Sol Get到了这题树状数组的做法,感觉非常nice 区间加:直接差分 区间求和:考虑每一位的贡献 $sum_{i = 1}^x (x+1 i) d_i$ $= sum_{i = 1}^x (x+1)d_i \sum_{i = 1}^x id_i$ $= (x+1) sum_{ 阅读全文
posted @ 2018-10-01 18:33 自为风月马前卒 阅读(299) 评论(0) 推荐(0)
摘要:"题目链接" rmq求LCA,interesting。 一直没有学这玩意儿是因为CTSC的Day1T2,当时我打的树剖LCA 65分,~~gxb~~打的rmq LCA 45分。。。 不过rmq理论复杂度还是小一点的,就学一下把。 RMQ求LCA 我们要用到三个数组 $dfn[i]$:第$i$个节点位 阅读全文
posted @ 2018-09-28 08:40 自为风月马前卒 阅读(1527) 评论(2) 推荐(8)
摘要:题意 "题目链接" Sol 树上差分模板题 发现自己傻傻的分不清边差分和点差分 边差分就是对边进行操作,我们在$u, v$除加上$val$,同时在$lca$处减去$2 val$ 点差分是对点操作,我们在$u, v$处加上$val$,在$lca$和$fa[lca]$处减去$val$ 就本题而言,属于点 阅读全文
posted @ 2018-09-27 21:09 自为风月马前卒 阅读(311) 评论(0) 推荐(0)
摘要:题意 题目链接 Sol 感觉做这题只要对矩阵乘法理解的稍微一点就能做出来对于每一行构造一个矩阵A = a 1 0 b列与列之间的矩阵为B = c 1 0 d最终答案为$A^{n - 1}B A^{n - 1}B \dots $把$A^{n-1}B$看成一项进行快速幂即可 maya把数据范围看漏了1e 阅读全文
posted @ 2018-09-26 18:15 自为风月马前卒 阅读(595) 评论(0) 推荐(1)
摘要:题意 题目链接 往后中文题就不翻译了qwq Sol 又是码农题。。出题人这是强行把Kruskal重构树和主席树拼一块了啊。。 首先由于给出的限制条件是<=x,因此我们在最小生成树上走一定是最优的。 考虑把Kruskal重构树建出来,重构树上每个新的节点代表的是边权,同时用倍增数组维护出跳2^i步后能 阅读全文
posted @ 2018-09-18 11:41 自为风月马前卒 阅读(692) 评论(3) 推荐(0)
摘要:题意 题目链接 求出把$n$分解为斐波那契数的方案数,方案两两不同的定义是分解出来的数不完全相同 Sol 这种题,直接爆搜啊。。。 打表后不难发现$<=1e18$的fib数只有88个 最先想到的应该是直接把$n$加入到搜索状态里,然后枚举能被分成哪些 但是这样分解出来的数可能会有重复的,因此我们还要 阅读全文
posted @ 2018-09-18 09:10 自为风月马前卒 阅读(361) 评论(0) 推荐(0)
摘要:题意 题目链接 称一个1,2,...,N的排列P1,P2...,Pn是Magic的,当且仅当2<=i<=N时,Pi>Pi/2. 计算1,2,...N的排列中有多少是Magic的,答案可能很大,只能输出模P以后的值 Sol 这辈子做不出的计数系列。 一眼小根堆没啥好说的。最关键的一点是:树的形态是可以 阅读全文
posted @ 2018-09-17 15:38 自为风月马前卒 阅读(322) 评论(0) 推荐(1)
摘要:题意 题目链接 题面好长啊。。。自己看吧。。 Sol 自己想了一个退火的思路,没想到第一次交85,多退了几次就A了哈哈哈 首先把没用的边去掉,然后剩下的边从小到大排序 这样我们就得到了一个选边的序列,我们要求答案强制按照这个序列选 每次退火的时候选两个点交换。 枚举每个点,判断是否能更新答案, 时间 阅读全文
posted @ 2018-09-13 11:23 自为风月马前卒 阅读(467) 评论(1) 推荐(0)
摘要:题意 题目链接 给出一个矩形,每个点都有一些值,每次询问一个子矩阵最少需要拿几个数才能构成给出的值 Sol 这题是真坑啊。。 首先出题人强行把两个题拼到了一起, 对于前$50 \%$的数据,考虑二分答案。 用$f[i][j][k]$表示从$(1, 1)$到$(i, j) >= k$的个数,$g[i] 阅读全文
posted @ 2018-09-11 17:22 自为风月马前卒 阅读(398) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 8 9 ··· 29 下一页

Contact with me