NOI 2010

为了给小朋友上课,补了一下


就弄了一天,只有时间弄出四道题,另外一道基于连通性的状态压缩DP(看了也写不出,顶多水两个数据),还有个提交答案题,跟ACM没啥关系,不看了。

总结一下四道题



能量采集   水水的推一下,就可以得到对于(x,y)这个有gcd(x,y)-1个交错点,接着暴力是80%的点。如果用下容斥原理,可以弄到100分。容斥原理具体怎么弄,详见前面的代码吧。


海拔,额,YY的题目。首先是比较明显看出每个点肯定是在0到1的区间里面,接着就是开始YY每个点肯定是0或1了。可以简单的不严密的证明下,就是x*t+(1-t)*y,因为x,y肯定有最小值,所以t取值接近最小值即可。接着再YY出这个图肯定是到达1点后就没必要再下来了。。。所以肯定是图一半是0点,一半是1点。接着就是用最小割割成这个样子了,用ISAP,邻接表版的,最快也只是过了8个点。好吧,用对偶图转最短路,过了10个点。好吧,我的平面图最小割那个论文都没好好看,接着在秦牛的领悟下,把单向边弄了弄,接着过了10个点


航空管制

第一行的数据全对能过4个点,这个比较好水吧

再不行,就求全排列,也能过3个点

第一行的用拓排得到一个可行序列,排个序

接着第二行用求第一行答案得到的序列进行操作。

对于每个点,有哪些点必须排在他前面?网上有个说法比较明确,

1.指明了在他前面的

2.k在他前面的

3.K不在他前面,但是由于他的排位和前面那个排序,发生冲突的

依次解决


超级钢琴

如果是ACM,这就是比较水的题,为什么,因为划分树有模板。。。。。

还有种方法就是堆+RMQ,STL的堆比较方便


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值