省选模拟考试1
2015-12-30 10:37
113 查看
最近被splay,treap,dlx淹没。。
没写过考试的反思什么的感觉总结一下貌似很重要?
T1
详情见codevs2466
本来hash可过的题结果只给了64MB(oj上是256MB)
水题没什么好说的。。map判重都能过
收获:(学习了一发康托展开)
T2
codevs2467
貌似显然要先按b排序?
感觉搜索很兹瓷没想(xiangbudao)DP就没管了
正解是DP
f[i][j]代表前i个人,其中1窗口排到j分钟时需要的时间
两种转移方式 1.第i+1人在1窗口。此时最大值的可能有:当前i+1人吃完饭后没有人在吃饭:j+b[i] 或者是前i人有一人比i+1人还晚吃完f[i][j-a[i]]
2.在2窗口,同样两种转移方式:sum[i]-j+b[i] 或 f[i][j]
最后求f
一行中的最小值。
收获:贪心+DP结合
T3
codevs2468
矩阵乘法
考试之前中午和wyy还讨论了差不多的题所以知道大概是矩乘?
当然也是只会口胡
其中有很多细节也是在wyy的点拨下才想明白
首先很容易想到由于鳄鱼只有2,3,4三种周期
不如就把12作为一个大周期
这样处理起来会简单一点
O(kn^2)暴力大概是很容易想到的(我并没有想到)
然后我们先只跑12步好吧
然后我们发现好像12步之后就能12步12步走了
再深入想想就是矩乘了。。
剩下的小于12步多出来的直接暴力。
代码(建议先想清楚怎么构造矩阵)
View Code
T4
准备弃坑。。
没写过考试的反思什么的感觉总结一下貌似很重要?
T1
详情见codevs2466
本来hash可过的题结果只给了64MB(oj上是256MB)
水题没什么好说的。。map判重都能过
收获:(学习了一发康托展开)
T2
codevs2467
貌似显然要先按b排序?
感觉搜索很兹瓷没想(xiangbudao)DP就没管了
正解是DP
f[i][j]代表前i个人,其中1窗口排到j分钟时需要的时间
两种转移方式 1.第i+1人在1窗口。此时最大值的可能有:当前i+1人吃完饭后没有人在吃饭:j+b[i] 或者是前i人有一人比i+1人还晚吃完f[i][j-a[i]]
2.在2窗口,同样两种转移方式:sum[i]-j+b[i] 或 f[i][j]
最后求f
一行中的最小值。
收获:贪心+DP结合
T3
codevs2468
矩阵乘法
考试之前中午和wyy还讨论了差不多的题所以知道大概是矩乘?
当然也是只会口胡
其中有很多细节也是在wyy的点拨下才想明白
首先很容易想到由于鳄鱼只有2,3,4三种周期
不如就把12作为一个大周期
这样处理起来会简单一点
O(kn^2)暴力大概是很容易想到的(我并没有想到)
然后我们先只跑12步好吧
然后我们发现好像12步之后就能12步12步走了
再深入想想就是矩乘了。。
剩下的小于12步多出来的直接暴力。
代码(建议先想清楚怎么构造矩阵)
1 void DP(int X) 2 { 3 if(!gg[0][X])f[0][X][X]=1;//f[i][j][k]代表i步,从j出发到k的路径条数 4 for(int i=1;i<=12;i++) 5 { 6 for(int j=1;j<=n;j++) 7 for(int k=1;k<=n;k++) 8 if(g[k][j])//k与j有双向边 9 { 10 f[i][X][j]+=f[i-1][X][k]; 11 f[i][X][j]%=mod; 12 f[i][X][k]+=f[i-1][X][j]; 13 f[i][X][k]%=mod; 14 } 15 for(int j=1;j<=n;j++) 16 if(gg[i][j])f[i][X][j]=0;//当j在i时刻有鳄鱼那么此时路径条数变0 17 } 18 for(int i=1;i<=n;i++)v[X][i]=f[12][X][i]; 19 } 20 21 int main() 22 { 23 init(); 24 for(int i=1;i<=n;i++)DP(i);//求每个点的f 25 qmod(k/12);//快速幂矩阵 26 int ans=0; 27 for(int i=1;i<=n;i++) 28 ans=(ans+f[k%12][i][end]*v1[str][i])%mod;//剩下的利用f数组完成 29 }
View Code
T4
准备弃坑。。
相关文章推荐
- 常用的字符串截取
- scanf正则表达式
- BinaryReader 、BinaryWriter是方便用二进制方式读写int,double,string之类的数据
- JavaScript RegExp.$1...$9 属性详解
- Activiti 5.17 实体对象、类、数据库表的映射
- Java 实现导出excel表 POI
- LeetCode:110. Balanced Binary Tree
- Java实现截图并保存到本地
- 《从零开始学Swift》学习笔记(Day54)——抛出错误
- JDK自带的监控分析工具JConsole
- (一)s3c2440 地址分配讲解 (很难很纠结)
- 2015/12/30日-月总结(心很累,然而并没有暖用)
- Flume thrift source C++ Demo
- JavaScript onkeyup事件实现仿验证码判断
- 解决MySQL Server Instance Configuration Wizard卡住未响应的问题
- 《从零开始学Swift》学习笔记(Day54)——抛出错误
- leetcode之Sum Root to Leaf Numbers
- 部分银行卡号规则(二)
- 第十一周 层次遍历算法的验证
- Spring MVC 的搭建