|
天哪,少个+1 居然过了4个点 错误代码139 136的飞……
PS:我是蓝字菌
题目 1048 [Citric S2] 一道防AK好题
2014-02-15 15:19:08
|
|
数据 暴弱 ,居然可以不回退。。。我有一组 暴强 数据用我的代码过不去#7,#8点
|
|
原来路径覆盖是这么拆点的……
WC2014发来贺电 |
|
我用long,long但结果是long。
@@ -2793 +2793 @@ --1849811792 +2445155504 @@ -2819 +2819 @@ --2091217477 +2203749819 @@ -3001 +3001 @@ --2040892038 +2254075258 @@ -3012 +3012 @@ --2084295718 +2210671578 @@ -3104 +3104 @@ --1731122940 +2563844356 @@ -3118 +3118 @@ --2140405080 +2154562216 @@ -3280 +3280 @@ --2138769060 +2156198236 @@ -3296 +3296 @@ --1899103816 +2395863480 @@ -3415 +3415... |
|
水题,挺简单的
|
|
回复 @常可神牛 : 不愧是神牛!
题目 1080 [Tyvj 1965] 汪星人入侵
2014-02-11 12:53:49
|
|
回复 @哈凌大侠 : 不用,longint足以,我就是这么过的。
|
|
加上读入优化还是过不了,但下了数据到本地就能很快出解,评测机太慢?
|
|
注意有些点不连通的情况。。。:(
|
|
需要开long long
|
|
数据有误。。。
|
|
脑筋急转弯……
WC 2014发来贺电 |
|
参考一下输入格式,ms源点是1汇点是n
|
|
赞!
页面 43 HTML常用符号
2014-02-08 17:00:33
|
|
题解见大白书P318
|
|
|
|
卡常数不厚道,我已经尽力了。。。。10分不鸟他了。。
|
|
设集合 $n=i+j+k;F(n)$表示对集合n的权值(即果子重量), $Fruit(n)$为体力耗费。
决策1$Fruit(n)=F(k)+F(i)+F(k)+F(i)+F(j)$;//先合并i,再合并j。 决策2$Fruit(n)=F(k)+F(j)+F(k)+F(i)+F(j)$;//先合并j,在合并i。 2种方式对比会发现仅含不同项F(i),F(j),只许比较i,j大小选取小的先合并便可保证从某一相同初始状态转换至相同末状态的花费最小。 |
|
数据组数好像出多了……
反正插头DP能过…… |
|
想必看完楼上们的评论,大家对这道题的算法已经饥渴难耐了,为了满足大家的兽欲,这里我给出一个简易版的证明(没有按照严格的贪心算法的证明方法走)。
设K为某种状态下的常数,其大小与巧克力当前状态下x,y方向上的块数大小有关。 情况1设$X_{n},X_{n+1}$为相邻位(n+1为n的第一个小于的元素),$W_{n}$为切完第n刀后的权值和。 可知切2刀之前状态与切2到之后的状态相同,与中间决策无关。 决策1$W_{n,first}=W_{n-1}+K*(X_{n}+X_{n+1})$ 决策2$W_{n,second}=W_{n-1}+K*(X_{n+1}+X{n})$ $W_{n,first}=W_{n,second}$;这种情况下两种决策效果相同。 情况2设$X_{n},Y_{m}$为相邻位(定义同上,但在这可以假设2大小关系未知),$W_{n}$为切完第n刀后的权值和。 可知切2刀之前状态与切2到之后的状态相同,与中间决策无关。 决策1$W_{n,first}=W_{n-1}+K*(X_{n}+2*Y_{m})$等式1 决策2$W_{n,second}=W_{n-1}+K*(Y_{m}+2*X{n})$等式2 等式1与等式2同时减去相同部分得 $First=K*Y_{m}$等式3 $Second=K*X_{n}$等式4 此时可知W值与决策有关,既若使某状态下W值越小,则应先从大的切起。 对于全局的决策,可以分为数个阶段,在这里可以证明: 若$W_{n}$最优,则$W_{n-1}$最优(反证法:由于决策过程权值是确定的,若存在更优$W_{n-1}$,则$W_{n}$不为最优,与前提矛盾) $W_{n-1}$最优且使用最优决策,则$W_{n}$最优。 由此可递推得最终可以获得最优答案(可以用类似循环不变量的东西,这个比较开放了~) 最终得到巧克力问题满足局部最优解亦是全局最优解,该贪心算法成立。 ![]() |