Weekly Contest 322
https://i.imgur.com/eTjK1Eq.png
今天打的还行,应该可以爬一点分
比较让人开心的是这样就连六场没吃到 penalty 了
1. Circular Sentence
这种要 parse 的就该用 python 来写
split 完之后就随便写
2. Divide Players Into Teams of Equal Skill
sort 完之后不断取头尾确定是不是每组都一样
然后照题目说的把乘积加一加
3. Minimum Score of a Path Between Two Cities
一条路径的分数是他的边里距离最短的那个
然后分数越小越好
因为他允许同样的节点走好几次
所以如果有一条边 (u, v) 是能从起始点走到的
都可以把他纳入路径中
因为大不了就加入 (u, v), (v, u) 两条边
绝对不会害你走不到
因为保证 n 一定走的到
所以就 dfs 看哪些边能从起始点走到
取最小的那条边就可以了
4. Divide Nodes Into the Maximum Number of Groups
这题我写得很心虚,其实我当下没有证明我是对的
只是想一想好像找不到反例就上了
一个观察是奇偶性很重要
如果有奇数长度的环的话会失败
如果所有环都是偶数就没事
最后我是用 bfs 一层一层看加不加的上去
要注意有可能没连通要处理一下就可以