用w[i]表示在A中用了i的时间时在B中最少用多长时间,然后转移就可以了。
备注:这个边界不好定义,所以可以每次用一个cur来存储最优值,然后对w[i]赋值就可以了。/**************************************************************
...
分类:
其他好文 时间:
2014-05-08 18:06:39
阅读次数:
242
我们用w[i][j]表示i到j的最短路的数量,dis[i][j]表示i到j的最短路,那么我们在floyd的时候,如果dis[i][k]+dis[k][j]==dis[i][j],根据乘法原理我们就w[i][j]+=w[i][k]*w[k][j],小于的时候我们就重新对w[i][j]赋值。
因为...
分类:
其他好文 时间:
2014-05-08 10:27:13
阅读次数:
249
写题解之前首先要感谢妹子。
比较容易的斜率DP,设sum[i]=Σb[j],sum_[i]=Σb[j]*j,w[i]为第i个建立,前i个的代价。 那么就可以转移了。
备注:还是要感谢妹子。/**************************************************...
分类:
其他好文 时间:
2014-05-08 10:24:20
阅读次数:
260
首先对于一棵树我们可以tree_dp来解决这个问题,那么对于环上每个点为根的树我们可以求出这个树的一端为根的最长链,并且在tree_dp的过程中更新答案。那么我们对于环,从某个点断开,破环为链,然后再用DP来解决这个问题。
备注:很久之前的一道题,刚转的c++,然后T了,也懒得改了。/****...
分类:
其他好文 时间:
2014-05-07 20:58:09
阅读次数:
546
#include#include#include#includeusing namespace
std;#define N 55000#define inf 0x3fffffffint ind[N];int n,a[N];int
b1[N],b2[N];int qu[N],he;int l[N],r...
分类:
其他好文 时间:
2014-05-07 20:29:45
阅读次数:
286
首先我们先将树提出一个根变成有根树,那么我们可以通过树链剖分来实现对于子树的最小值求解,那么按照当前的根和询问的点的相对位置关系我们可以将询问变成某个子树和或者除去某颗子树之后其余的和,前者直接询问区间,后者询问区间的补集。/***********************************.....
分类:
其他好文 时间:
2014-05-07 17:02:20
阅读次数:
427
【原题】
3156: 防御准备
Time Limit: 10 Sec Memory Limit: 512 MB
Submit: 198 Solved: 107
[Submit][Status]
Description
Input
第一行为一个整数N表示战线的总长度。
第二行N个整数,第i个整数表示在位置i放置守卫塔的花费Ai。
Output
...
分类:
其他好文 时间:
2014-05-07 08:22:07
阅读次数:
318
【原题】
1010: [HNOI2008]玩具装箱toy
Time Limit: 1 Sec Memory Limit: 162 MB
Submit: 5434 Solved: 1969
[Submit][Status]
Description
P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京。他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,...
分类:
其他好文 时间:
2014-05-07 06:25:07
阅读次数:
389
这道题还是挺好想的,但我一开始还是想错了……
把每个石柱拆成两个点,一个入度,一个出度,两个点连一条容量为高度的边,这样就可以限制从此石柱上经过的蜥蜴的数量。关于蜥蜴是否单独成点,我是单独当成了一个点,貌似做麻烦了,可以直接源点连石柱,但那样我想会不会造成一些问题,貌似也没有。
虽然很水,但...
分类:
其他好文 时间:
2014-05-07 01:29:34
阅读次数:
389