GYM101481 2011-2012 ACM-ICPC, Central Europe Regional Contest (CERC 11)

GYM101481 2011-2012 ACM-ICPC, Central Europe Regional Contest (CERC 11)

A.Vigenere Cipher Analysis

先想到一种做法:枚举key的长度,然后每个串分别枚举匹配位置,计算出相应的秘钥,然后hash,两个串得到的结果分别匹配,注意预处理在 O ( 1 ) O(1) O(1)的复杂度得到每个位置的hash值,得到的hash值需要有序,总复杂度 O ( K C log ⁡ C ) O(KC\log C) O(KClogC)。时间限制比较宽松,可以通过。

貌似有更好的 O ( K C ) O(KC) O(KC)的方法。

B.Boring Card Game

很快可以找到每张卡片置换的环, T ≡ x m o d    D T \equiv x \mod D TxmodD 环长度D,这张卡在第T局会来到环上第x人的位置,那么单独看每一个人,有五个相应的条件,应用中国剩余定理,时间复杂度 O ( N ∗ 5 ! ∗ 5 log ⁡ N ) O(N*5! * 5 \log N) O(N5!5logN)

C.Stack Machine Executor

暴力… 数据有点小
貌似如果DUP MUL MOD这样子循环数据满了做不了。emmm

E.Stack Machine Programmer

利用mod构造

G.Racing Car Trail

网格上游走,显然是一个二分图。轮流二分图上游走,不可经过重复点的博弈,这是一个经典问题。考虑博弈与匹配的关系,在所有最大匹配中都被匹配的点即为先手必胜点,否则必败。网络流残余网络上跑tarjan来判断一个点是否必然被匹配。

H.Unchanged Picture

所有边预处理,直接暴力,比较难写。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值