DP
Sport_River
这个作者很懒,什么都没留下…
展开
-
Codeforces1146F. Leaf Partition
DescriptionYou are given a rooted tree with n nodes, labeled from 111 to nnn. The tree is rooted at node 111. The parent of the i-th node is pip_ipi. A leaf is node with no children. For a given set of leaves LLL, let f(L)f(L)f(L) denote the smallest con原创 2020-10-23 20:30:29 · 126 阅读 · 0 评论 -
jzoj 5347. 【NOIP2017提高A组模拟9.5】遥远的金字塔
DescriptionInputOutputSolution比较明显的DP设fi,jf_{i,j}fi,j表示做到第i行,分了j个矩形的方案数转移明显:fi,j=max(fk,j−1+(i−k)∗(ri−li))f_{i,j}=max(f_{k,j-1}+(i-k)*(r_{i}-l_{i}))fi,j=max(fk,j−1+(i−k)∗(ri−li))暴力做的话是O(n2k)O(n^{2}k)O(n2k)的,不能接受考虑斜率优化,就能过了时间复杂度O(nk)O(nk)原创 2020-10-09 14:52:08 · 77 阅读 · 0 评论 -
jzoj 5351. 【NOIP2017提高A组模拟9.7】简单无向图
DescriptionInputOutputSolution这题有好几个做法,这里介绍两个Solution 1(这似乎是网上的正解)From zsjzliziyang设f[ i ][ j ]表示度数为1、2的点个数分别为i,j时答案。分为下面的4种情况1:当t2为0时我们新增若干条长度为2的链,我们将不会在这些链中间加其他任何点2:新增形如1-2-1的一条新链3:在条链的一个位置加入两个为2的点4:把某一条链拆掉,将其中度数为2的点与3个新的点构成一个新的环这个方法最关键原创 2020-10-06 22:13:23 · 125 阅读 · 0 评论 -
Codeforces1131G Most Dangerous Shark
Description大概就是给你一个间隔为1的多米诺序列,推倒一个多米诺骨牌有个花费,求推倒所有多米诺骨牌的最小花费Solution这道题先处理出每一个点最左及最右可推倒的位置,这可以用栈维护设以上位置为lil_{i}li,rir_{i}ri接下来设fif_{i}fi为第1~i个点全部倒下,且第i个点往左倒的最小花费gig_{i}gi为第1~i个点全部倒下,且第i个点往右倒的最小花费先考虑fif_{i}fi显然,fi=min(fli−1,gli−1)+costif_{i}=mi原创 2020-09-17 22:03:06 · 156 阅读 · 0 评论 -
jzoj 3567. 【GDKOI2014】石油储备计划
DescriptionInputOutput对于每组数据,输出一个整数,表示达到“平衡”状态所需的最小代价。Solution这题可以用费用流求解,奈何太长了只好DP了我们发现,当达到所谓“平衡”状态时,每个点的石油数应是ave或ave+1所以我们考虑枚举子树中ave+1的节点的个数设fi,jf_{i,j}fi,j表示以i为根的子树中有j个ave+1的节点的最小贡献如果我们暴力枚举会T飞所以考虑合并用gjg_{j}gj来存当前的当前的答案则f数组存的则是之前做的所有的儿子的答原创 2020-08-13 22:11:53 · 155 阅读 · 0 评论 -
jzoj1497. 景点中心
Description话说宁波市的中小学生在镇海中学参加计算机程序设计比赛,比赛之余,他们在镇海中学的各个景点参观。镇海中学共有n个景点,每个景点均有若干学生正在参观。这n个景点以自然数1至n编号,每两个景点的编号均不同。每两个景点之间有且只有一条路径。选择哪个景点集中的学生,才能使所有学生走过的路径之和最小呢?如果存在多个解,则输出距离1最近的那个点,可以证明答案唯一Input输入文件center.in中有若干行:第一行只有一个正整数n,表示景点数。第二行有n个1至1000间的整数,这n个整.原创 2020-08-11 16:26:16 · 157 阅读 · 0 评论 -
糖果
题目大意 你和你的朋友有一大包糖果,你想把这些糖按照能量尽可能平均分配,输入每种糖果的个数(个人想法 刚看到这道题,一脸懵逼。想了很久很久,打了一个贪心,感觉上是对的。因为时间关系,又没有打对拍。一直找不到错误样例。于是,只水了70分。(由此可得,对拍很重要)正解 原来是DP。设f[i,j]表示前i种糖果,分给两边后差为J的情况是否成立。所以这原创 2018-01-30 18:24:30 · 380 阅读 · 0 评论