「NOIP2018」保卫王国】的更多相关文章

「NOIP2018保卫王国」 题目描述 有一棵 \(n\) 个点, 点有点权 \(a_i\),\(m\) 组询问, 每次求钦点两个节点必须选或者必须不选后的树上最小点覆盖. \(1 \leq n, m \leq 10^5\) 解题思路 : 这个题唯一的意义恐怕是普及了一个还不能算太普及的科技,至少我没有时间去实现这个东西.当然 \(\text{nqiiii}\) 大爷考场上写了标算没写这个科技就过了是真的强.(不愧是机房里仅次于 \(\text{AK}\)王\(\text{zzd}\) 的男人)…
题目传送门 传送门 想抄一个短一点ddp板子.然后照着Jode抄,莫名其妙多了90行和1.3k. Code /** * loj * Problem#2955 * Accepted * Time: 2653ms * Memory: 25616k */ #include <bits/stdc++.h> using namespace std; typedef bool boolean; const int N = 1e5 + 5; #define ll long long template <…
「题解」JOIOI 王国 题目描述 考场思考 正解 题目描述 点这里 考场思考 因为时间不太够了,直接一上来就着手暴力.但是本人太菜,居然暴力爆 000 ,然后当场自闭- 一气之下,发现对 60pts60pts60pts 的数据范围有点思路,然后就开始码. 大概思路是 DPDPDP , 定义状态 dp[i][j]:dp[i][j]:dp[i][j]: 在第 iii 行的划分点是 jjj ,即把第 iii 行分成 [1,j][1,j][1,j] 与 [j+1,M][j+1,M][j+1,M] .…
保卫王国 电脑卡懒得把题面挪过来了. 朴素 \[ dp_{i,0}=\sum dp_{s,1}\\ dp_{i,1}=\sum \min(dp_{s,0},dp_{s,1})+p_i \] 然后直接动态dp就行了 我发现lct是最好写的,反正比树剖好写,还比她快 没倍增快,但是看起来倍增挺难写的... Code: #include <cstdio> #include <algorithm> #define ll long long const ll inf=1ll<<4…
作为一个蒟蒻要去考tg了,心理还是有点慌的.初赛70,心惊胆战很长时间,后来降分到68了,居然卡线了(震惊……) $Day \ 0$ 今天请假在家复习了,打了几个数据结构模板.希望明天考场能++rp啊! 由于就在学军紫金港考,所以没有必要住旅馆了,每天过去不到40min的. $Day \ 1$ 早上6:50出发(cmz爸爸带我们去的),到了学军大门遇到了hy巨佬.昔日的赛艇就剩下我们三人了.作为一个业余选手,我只是凑个数的.然后我们谈笑风生了一会儿,就进学校了.(快冻死了,身体一直战栗,牙齿都快…
此题场上打了一个正确的$44pts$,接着看错题疯狂$rush$“正确”的$44pts$,后来没$rush$完没将之前的代码$copy$回去,直接变零分了..... 这一题我们显然有一种$O(nm)$的做法 令$f[u][0]$表示在以$u$为根的子树内部署军队,且$u$不部署军队的最小代价. 令$f[u][1]$表示在以$u$为根的子树内部署军队,且$u$部署军队的最小代价. 结合题意(重要!)不难推出: $f[u][0]=\sum_{v∈son[u]} f[v][1]$ $f[u][1]=v…
前言 在考场被这个题搞自闭了,那个时候自己是真的太菜了.qwq 现在水平稍微高了一点,就过来切一下这一道\(DP\)经典好题. 附加一个题目链接:[洛谷] 正文 虽然题目非常的简短,但是解法有很多. 我按照时间复杂度来写一下一些做法. 博主只考虑了一些基于时间的做法,其他的再补.. 时间复杂度:\(O(t^2n)\) 借鉴sooke大佬的想法,把问题抽象成一个数轴. 每一个人上车的时间就是在数轴上可能重合的一个点,一辆公交车抽象成在数轴上的一条长度为m的线段进行一次覆盖. 因为考虑到上下车时间忽…
目录 @题目描述@ @题解@ @代码@ @题目描述@ Z 国有n座城市,n−1 条双向道路,每条双向道路连接两座城市,且任意两座城市 都能通过若干条道路相互到达. Z 国的国防部长小 Z 要在城市中驻扎军队.驻扎军队需要满足如下几个条件: (1)一座城市可以驻扎一支军队,也可以不驻扎军队. (2)由道路直接连接的两座城市中至少要有一座城市驻扎军队. (3)在城市里驻扎军队会产生花费,在编号为i的城市中驻扎军队的花费是p. 小 Z 很快就规划出了一种驻扎军队的方案,使总花费最小.但是国王又给小 Z…
传送门 Luogu 解题思路 一眼先二分(上界树的直径,下界最小边权),然后再考虑 \(\text{DP}\). 对于当前节点 \(u\),在它的所有儿子中分别返回一条匹配不完的长度最大的路径 \(Max\). 若该路径长大于二分值,直接修一条,不然丢进 \(\text{multiset}\) 里面. 对于 \(\text{multiset}\) 里的元素每次贪心的找出尽可能大的一条与最小的匹配,若找不到则用来更新 \(Max\) \(check\) 函数里面返回 \(ans\ge m\),最后…
概率生成函数\(g(x)=\sum_{i\geq 0}t_ix^i\),\(t_i\)表示结果为\(i\)的概率 令\(f(x)\)表示i位表示串结束时长度为i的概率,\(G(x)\)表示i位表示串长度为i时不结束的概率 有如下关系 \[①:f(x)+g(x)=1+g(x)x \] 意义:\(f(x)+g(x)\)即为串长达\(i\)位的概率,即\(i-1\)位不结束的概率 定义一个字符串的border为一个既为它前缀又为它后缀的非空串 定义\(b_i\)表示\([[1,2,\cdots,i]\…