Gravatar
Makazeu
积分:3007
提交:780 / 1516
比賽時 250 了!!!不吉利啊

Gravatar
cstdio
积分:4745
提交:1198 / 2108
排序的上辈子都是折翼的天使……

题目 669 等差数列
2012-07-19 10:46:04
Gravatar
cstdio
积分:4745
提交:1198 / 2108
难道最后两组都是14?

Gravatar
Truth.Cirno
积分:1591
提交:557 / 1253
练习一下堆优化吧,再用一个边表优化

题目 397 [USACO Oct09] 热浪
2012-07-18 20:04:57
Gravatar
cstdio
积分:4745
提交:1198 / 2108
跟数塔那题的算法差不多
不过要用滚动数组

Gravatar
cstdio
积分:4745
提交:1198 / 2108
可以打表……也可以不打……

Gravatar
Truth.Cirno
积分:1591
提交:557 / 1253
好久没上机,当做练手再好不过了。

题目 640 N皇后问题
2012-07-16 16:57:51
Gravatar
Truth.Cirno
积分:1591
提交:557 / 1253
用的浏览器的Ctrl+F搞定……

Gravatar
Truth.Cirno
积分:1591
提交:557 / 1253
面对数位相等无符号整数特制的高精度,数也不用管高位低位,高精度加法基础题啊。

题目 40 [NOIP 1999]回文数
2012-07-16 16:55:27
Gravatar
Truth.Cirno
积分:1591
提交:557 / 1253
本来就想练无符号高精度整数运算,于是用的高精度加法(bplus)、高精度比较(bcom)、无符号长整型转换高精度(bchange)完成的。
动规最大时间复杂度目测O(n*m^2)

题目 578 汉诺塔
2012-07-16 16:53:12
Gravatar
ok
积分:381
提交:129 / 255
后半部分有点小难

题目 465 挤牛奶
2012-07-16 08:46:46
Gravatar
zhangchi
积分:140
提交:11 / 31
用floodfill判断连通,利用连通性判断包含关系,显然被包含的点不会被选到,对于互相连通的点(在同一强连通分量里),判断COST选取最小即可。

题目 860 聪明的推销员
2012-07-09 15:56:13
Gravatar
Yeehok
积分:390
提交:170 / 497
1

题目 3 服务点设置
2012-07-08 08:55:20
Gravatar
Makazeu
积分:3007
提交:780 / 1516
唉,比赛时因为一个SB错误跪了~~竟然有多组数据

题目 829 旅行
2012-07-03 20:29:16
Gravatar
Makazeu
积分:3007
提交:780 / 1516
唉,比赛时因为一个SB错误跪了~~

题目 828 基因重组
2012-07-03 12:21:25
Gravatar
Cloud
积分:580
提交:212 / 615
我了个去~139能过usaco过不了
Test 8: RUNTIME 5.389>5 (4636 KB)
坑爹啊
剪枝无敌!!!

题目 669 等差数列
2012-06-28 17:20:43
Gravatar
QhelDIV
积分:2339
提交:638 / 1737
原题有很多错误,我修正了一下否则会非常理解起来会麻烦而且,非常容易错,
注意有穷状态自动机是FSA,确定有穷状态自动机为DFA
另外,数据太弱了,我没有考虑-2是什么意思就过了.

题目 433 词法分析程序
2012-06-28 08:46:10
Gravatar
Czb。
积分:1752
提交:406 / 867
打表就打的明显点,不要误导小朋友。 @Des.

题目 492 Sramoc问题
2012-06-20 15:19:14
Gravatar
QhelDIV
积分:2339
提交:638 / 1737
弱菜使用并查集写的...Max表示当前时间,对于每两个点都更新Max值

Max=max(Max,Max+distance[i][j]/2+distance[i][j] Mod 2-Max)
注意distance[i][j]/2+distance[i][j]Mod2表示的是两点到最近公共点的曼哈顿距离.减去Max表示减去已经扩散的距离.
看上去挺麻烦其实就是维护不断增加Max的值直到并查集只剩下一个集合为止(所有的元素都成了一个连通块)
注意distance的值存放在一个一维的不下降数组里,否则就会有答案变大的情况

题目 512 扩散
2012-06-19 18:24:30
Gravatar
QhelDIV
积分:2339
提交:638 / 1737
无限切割
f[i]表示第i个串有多长
找到长度最小大于N那个串
将它分成3份 ...(1)moo..oo(2)....(3)
(1)和(3)相同,判断如果f[i-1]<=N<=f[i]-f[i-1] 即N在中间(2) 这样就可以直接输出了
否则递归找下去
根据题目性质可得N只可能在我们找到的第i个串的(2)或者(3)
所以让再找到最短的比(N-f[i]+f[i-1])长的串j,重复上述步骤
如果递归到了S0,直接输出即可