
动态规划
_ldxxx_
...
展开
-
【洛谷 P1240】诸侯安置
题目描述 很久以前,有一个强大的帝国,它的国土成正方形状,如图所示。 这个国家有若干诸侯。由于这些诸侯都曾立下赫赫战功,国王准备给他们每人一块封地(正方形中的一格)。但是,这些诸侯又非常好战,当两个诸侯位于同一行或同一列时,他们就会开战。如下图2—3为n=3时的国土,阴影部分表示诸侯所处的位置。前两幅图中的诸侯可以互相攻击,第三幅则不可以。 国王自然不愿意看到他的诸侯们互相开战,致使国家原创 2017-10-18 15:55:20 · 963 阅读 · 0 评论 -
【bzoj 1600】建造栅栏
Description 勤奋的Farmer John想要建造一个四面的栅栏来关住牛们。他有一块长为n(4<=n<=2500)的木板,他想把这块本板切成4块。这四块小木板可以是任何一个长度只要Farmer John能够把它们围成一个合理的四边形。他能够切出多少种不同的合理方案。注意: 只要大木板的切割点不同就当成是不同的方案(像全排列那样),不要担心另外的特殊情况,go ahead。 栅栏的面积要大原创 2017-10-14 20:15:36 · 467 阅读 · 0 评论 -
【bzoj 1003】物流运输
Description 物流公司要把一批货物从码头A运到码头B。由于货物量比较大,需要n天才能运完。货物运输过程中一般要转停好几个码头。物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格的管理和跟踪。由于各种 因素的存在,有的时候某个码头会无法装卸货物。这时候就必须修改运输路线,让货物能够按时到达目的地。但是修改路线是一件十分麻烦的事情,会带来额外的成本。因此物流公司希望能够订原创 2017-10-08 20:36:13 · 444 阅读 · 0 评论 -
【bzoj 1609】麻烦的聚餐
传送门~解题思路f[i][j]表示到第i位最大号码为j的最小修改次数,正反分别跑依次就行了。 代码:#include<iostream> #include<algorithm> #include<cstring> #include<string> #include<cstdio> #include<cmath> #include<cstdlib> using namespace std; int原创 2017-12-27 20:46:55 · 676 阅读 · 1 评论 -
【bzoj 1025】游戏
传送门~ 解题思路 每个元素相当于一个入度、初读均为一的点,他们构成若干个环,且环大小之和为n。 于是问题转化成求所有和为n的序列可能的lcm有多少种。 可以证明,对于任意数xx=p1p1^a1∗p2a1*p2^a2∗a2*…∗pn*pn^anan, 若x为可行解之一,则必有:p1p1^a1a1+p2p2^a2a2+…+pnpn^an=nan 于是可以Dp,先预处理所有质数,f[i原创 2018-01-02 15:50:08 · 477 阅读 · 0 评论 -
【bzoj 4927】第一题
传送门~ 解题思路 一道神题,被虐了好久才调出来。。。 用六根拼正方形一共只有两种情况: 对于情况(1),我们先将所有数排序,然后枚举 iii 作为图(1)中紫色的边,即上面三个边中最长的边,同时记录num[x]num[x]num[x]存前 i−1i−1i-1 个数两两相加得 xxx 的方案数。再从 iii 向后枚举 jjj 作为红色边来统计答案。 对于情况(2),先将排好序的数...原创 2018-01-17 16:57:36 · 322 阅读 · 0 评论 -
【bzoj 2017】硬币游戏
传送门~ 非常棒的一道题。f[i][j]" role="presentation" style="position: relative;">f[i][j]f[i][j]f[i][j]表示剩i枚硬币时取j个最多拿到多少,sum[i]" role="presentation" style="position: relative;">sum[i]sum[i]sum[i]表示最后i枚硬币的价值和,状态转原创 2018-01-28 21:48:39 · 378 阅读 · 1 评论