2016-E41-team1
从 Trac 迁移的文章
这是从旧校内 Wiki 迁移的文章,可能存在一些样式问题,您可以向 memset0 反馈。
原文章内容如下:
{{{
#!html
<pre class="wiki" style="font: normal 13px Consolas">
┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ 2017/03/21 18:06-23:06 · Siunaus · Akalm/JTJL/sfiction │
├────────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│H [0:18]│ 1 2OOOoooo# 3 │
│K [0:35]│ 1 2 oOoo... .3 o. o! .o.ooo. ooooO!..o# │
├────────┼════════════════════════────────────────────────════════════════════════────────────────────────════════════════════════┤
├────────┼════════════════════════────────────────────────════════════════════════────────────────────────════════════════════════┤
│A [0:48]│ 1 oO2o.o.oo 3 oooooo.oooo!o!# │
│G [0:29]│ 1 .Ooooo!.o. . . 2 .Oo.. . .o oo# 3 │
├────────┼════════════════════════────────────────────────════════════════════════────────────────────────════════════════════════┤
│* [3:20]│ .Oooooo.o. . OOOooooo oOo.. oOoOo.ooo. ooOOOoo.ooo.oooOooooo.ooooooooooOo.oOooOOoOOOoOOOooOoOOoooOoOooo....o│
├────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│B2[0:00]│ 1 │
│C0[0:00]│ │
│D1[0:00]│ 1 │
│E0[0:00]│ │
│F3[0:44]│ 1 oOOo .OOOooO! .OoOooo.!..o│
│I5[0:00]│ 1 │
│J [0:25]│ 1 2 ..oo . .OOOo .OOooo ! ! │
└────────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
</pre>
}}}
||#||When||Problem||Lang||Verdict||Time||Memory||
||218||5:06:32||1747||F||g++0x-32||Time-limit exceeded||12||
||217||4:50:56||2272||J||g++0x||Wrong answer||3||
||216||4:50:32||1612||F||g++0x||Time-limit exceeded||10||
||215||4:37:21||1704||J||g++0x||Wrong answer||5||
||214||4:19:27||1205||F||g++0x||Time-limit exceeded||10||
||213||3:42:18||787||K||g++0x||OK||N/A||
||212||3:30:27||809||K||g++0x||Wrong answer||3||
||211||3:21:41||1555||A||g++0x||OK||N/A||
||210||3:18:23||1603||A||g++0x||Wrong answer||4||
||209||3:14:38||1597||A||g++0x||Wrong answer||1||
||208||2:21:42||872||K||g++0x||Wrong answer||3||
||207||2:00:47||653||G||g++0x||OK||N/A||
||206||1:22:40||1513||H||g++0x||OK||N/A||
||205||0:43:33||619||G||g++0x||Wrong answer||11||
比赛链接: http://opentrains.snarknews.info/~ejudge/team.cgi?contest_id=001454
start at 18:06
== 流水账 ==
== 总结 ==
== 题解 ==
=== A. Aho [sfiction] ===
直接做KMP的匹配部分即可,需要用到fail的时候再计算fail,步数用尽或者需要用到T[i+1]的时候才转入下一轮。如果当前轮步数没有用尽,可以再用来计算fail。综上需要支持fail部分计算的状态机,比较扭曲。O(n)。注意是否存在结束在i的匹配很早就能确定。
=== G. Galois [JTJL, sfiction] ===
将P视为轮换的组合。方案分为两种,一种是在Q内构造对应轮换的幂次,对长为l的轮换共l种。另外一种是交换相同长度轮换之间的位置,若有k个,则共k!种方案。注意l为偶数时轮换会导致奇偶性变化,k>1的全排列中奇偶数量均分。因此\prod{l}*\prod{k!}为奇数时直接输出答案,否则需要除以2。O(n)。
=== H. Harary [JTJL, Akalm] ===
先推拓扑排序方案为1的方案数;由于2,3都是质数,在1的基础上卷积一下即可。
=== I. Ito [JTJL, Akalm] ===
记x_i = (a_i) / (c_i), y_i = (a_i + b_i) / (2 * c_i), u_i为花在每个物品上的金钱,题目就能写成一个线性规划的形式。
观察发现回答询问 (s_j, l_j) 相当于在点集 S = {(x_i, y_i)} \cup (1, 1) 构成的凸包上,找横坐标至少为l_j/s_j的点中纵坐标的最大值。求出凸链后二分。
=== J. Jordan [JTJL, Akalm] ===
题目中给定的区间改写成前缀和相减的形式就是一个差分约束系统,由于左开右闭所以要拆点。注意处理好s[x]-s[y]=0那些边的建立。
=== K. Kolmogorov [JTJL, Akalm] ===
从终点往前计算每个点的到终点的期望。
┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ 2017/03/21 18:06-23:06 · Siunaus · Akalm/JTJL/sfiction │├────────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤│H [0:18]│ 1 2OOOoooo# 3 ││K [0:35]│ 1 2 oOoo... .3 o. o! .o.ooo. ooooO!..o# │├────────┼════════════════════════────────────────────────════════════════════════────────────────────────════════════════════════┤├────────┼════════════════════════────────────────────────════════════════════════────────────────────────════════════════════════┤│A [0:48]│ 1 oO2o.o.oo 3 oooooo.oooo!o!# ││G [0:29]│ 1 .Ooooo!.o. . . 2 .Oo.. . .o oo# 3 │├────────┼════════════════════════────────────────────────════════════════════════────────────────────────════════════════════════┤│* [3:20]│ .Oooooo.o. . OOOooooo oOo.. oOoOo.ooo. ooOOOoo.ooo.oooOooooo.ooooooooooOo.oOooOOoOOOoOOOooOoOOoooOoOooo....o│├────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤│B2[0:00]│ 1 ││C0[0:00]│ ││D1[0:00]│ 1 ││E0[0:00]│ ││F3[0:44]│ 1 oOOo .OOOooO! .OoOooo.!..o││I5[0:00]│ 1 ││J [0:25]│ 1 2 ..oo . .OOOo .OOooo ! ! │└────────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
| # | When | Problem | Lang | Verdict | Time | Memory |
| 218 | 5:06:32 | 1747 | F | g++0x-32 | Time-limit exceeded | 12 |
| 217 | 4:50:56 | 2272 | J | g++0x | Wrong answer | 3 |
| 216 | 4:50:32 | 1612 | F | g++0x | Time-limit exceeded | 10 |
| 215 | 4:37:21 | 1704 | J | g++0x | Wrong answer | 5 |
| 214 | 4:19:27 | 1205 | F | g++0x | Time-limit exceeded | 10 |
| 213 | 3:42:18 | 787 | K | g++0x | OK | N/A |
| 212 | 3:30:27 | 809 | K | g++0x | Wrong answer | 3 |
| 211 | 3:21:41 | 1555 | A | g++0x | OK | N/A |
| 210 | 3:18:23 | 1603 | A | g++0x | Wrong answer | 4 |
| 209 | 3:14:38 | 1597 | A | g++0x | Wrong answer | 1 |
| 208 | 2:21:42 | 872 | K | g++0x | Wrong answer | 3 |
| 207 | 2:00:47 | 653 | G | g++0x | OK | N/A |
| 206 | 1:22:40 | 1513 | H | g++0x | OK | N/A |
| 205 | 0:43:33 | 619 | G | g++0x | Wrong answer | 11 |
比赛链接: http://opentrains.snarknews.info/~ejudge/team.cgi?contest_id=001454
start at 18:06
流水账
总结
题解
A. Aho [sfiction]
直接做KMP的匹配部分即可,需要用到fail的时候再计算fail,步数用尽或者需要用到T[i+1]的时候才转入下一轮。如果当前轮步数没有用尽,可以再用来计算fail。综上需要支持fail部分计算的状态机,比较扭曲。O(n)。注意是否存在结束在i的匹配很早就能确定。
G. Galois [JTJL, sfiction]
将P视为轮换的组合。方案分为两种,一种是在Q内构造对应轮换的幂次,对长为l的轮换共l种。另外一种是交换相同长度轮换之间的位置,若有k个,则共k!种方案。注意l为偶数时轮换会导致奇偶性变化,k>1的全排列中奇偶数量均分。因此\prod{l}*\prod{k!}为奇数时直接输出答案,否则需要除以2。O(n)。
H. Harary [JTJL, Akalm]
先推拓扑排序方案为1的方案数;由于2,3都是质数,在1的基础上卷积一下即可。
I. Ito [JTJL, Akalm]
记x_i = (a_i) / (c_i), y_i = (a_i + b_i) / (2 * c_i), u_i为花在每个物品上的金钱,题目就能写成一个线性规划的形式。
观察发现回答询问 (s_j, l_j) 相当于在点集 S = {(x_i, y_i)} \cup (1, 1) 构成的凸包上,找横坐标至少为l_j/s_j的点中纵坐标的最大值。求出凸链后二分。
J. Jordan [JTJL, Akalm]
题目中给定的区间改写成前缀和相减的形式就是一个差分约束系统,由于左开右闭所以要拆点。注意处理好s[x]-s[y]=0那些边的建立。
K. Kolmogorov [JTJL, Akalm]
从终点往前计算每个点的到终点的期望。