9.21联考总结
来源:互联网 发布:idman是什么软件 编辑:程序博客网 时间:2024/04/30 20:02
最近脑洞也是大的可以,今天题目比较难,只写出了两道题,居然一个文件名打错一个忘了写文件流。
本来想想总该比昨天考得好吧,结果呵呵了~
算了,抱怨也没什么用,只是记录一下让自己以后不要再脑洞大开。
---------------------------------------------------------------------------------------------
第一题是二分图染色,每一条天使通信路径当做一个节点,如果两个路径出现相交那么就将两点连上无向边。
其实也不用真的连,只要出现相交dfs下去就可以了,显然只能出现黑白相间的情况,否则就会非法。
所以我们判断三种情况:
(1)当前点没有染过色,那直接染就好了
(2)当前点染过色,与目标颜色相同,那么说明这个点没有必要再dfs下去
(3)当前点染过色,但与目标颜色不相同,那么出现非法情况,直接跳出
我原来的做法其实就是用bfs代替dfs,其实本质也差不多,但是忘写文件流也是没话说。
第二题是动归加矩阵快速幂优化,假设SJY在第j个时刻处于第i个城市,那么方案数显然是:
f[i][j]:处于以上情况下的方案数 k为所有存在k->i单向边的点编号
f[i][j]=sigma(f[k][j-1]*map[k][i])+f[i][j-1];
观察题目的数据,我们发现城市的标准数字很低,但是t却很高,达到10^8
然而依照现在的做法我们需要开出10^8的空间,显然不可能。
观察转移方程我们发现,我们不需要保存上一个之前的状态,那么只要滚动数组就可以解决空间问题。
但是时间问题如何解决?矩阵快速幂。
(1)我们会发现只要把map[i][i]的位置设置为1(很重要,当时忘掉了)
(2)矩阵的状态转移必须建立在没有转移限制的基础上,所以必须暴力动归直到消除所有限制
剩下的将近10^8的转移,交给快速幂就可以了。
这题只有50分,因为矩阵当时没调出来。
倒不是实现能力不够什么的,而是发现了邻接矩阵性质太兴奋了,然后map[i][i]=1都忘了。
我还傻傻地在那里找自己矩乘哪里写错了。
第三题据说是全国赛难度,情何以堪啊。有空再把这题的题解补上。
- 9.21联考总结
- 9.20联考总结
- Lzy9.4联考总结
- 联考1day1总结
- 联考1day2总结
- 联考3day1总结
- 2016.3.5 联考总结
- 雅礼联考总结
- 11.06 周末联考总结
- 五校联考四总结
- 五校联考4总结
- 【五校联考四】总结
- 五校联考四总结
- WC四校联考总结
- 雅礼联考DAY2总结
- 【雅礼联考DAY01】比赛总结
- 【五校联考2015 9.4】总结
- 9月4号五校联考总结
- NYoj-分数加减法
- Java获取网络图片
- ubuntu 12.04 firefox chrome等浏览器页面乱码
- listview使用时应注意的和listview滑动卡顿优化
- Linux环境下(ubuntu 12.04)如何编译hadoop2.4
- 9.21联考总结
- zoj 2136 - Longest Ordered Subsequence
- 机房收费系统
- Android学习笔记46:使用Post方式提交数据
- 实验室第一周工作周报
- HDU 5040 Instrusive BFS 性质优化
- hdu2549 壮志难酬 ()
- 求子数组的最大和
- spring配置mysql数据库大小写问题