标签:用两个 指针 匹配 否则 mod 同方 代码 字母 交换
rand 题基本上是CD吧,AB不想做,E太难了233~
+ 看别人代码 - 自己写的 * 看题解的
315D +
给定两个string a b,以及他们出现的次数c,d 求找到一个最大p,使得整个b串为a的子串。
我们对于b的每一位都找到a串的结束的位置nxt数组,然后如果匹配了,把b串的cnt++,最后统计答案,就是根据nxt的跳跃统计cnt就可以了,
254C +
给定两个串,求改变a串最少的顺序,使得a中的每一个字符出现的次数等同于b出现的次数,并输出字典序最小的方案。
- naive的做法:我们用两个指针分别从后向前扫一遍,更新比他大或者比他小的
错误原因:由于是字典序最小,第一个字母小比什么都好。
+ 机智的做法,从前往后扫,如果比他小,那么就填上,否则如果后面没有这个字符了,那么就必须填上
152C -
(怎么rand都是string啊、、)
给定n个串,你可以交换每一个串对应的位置,求出现不同方案的数量mod1e9+7
对于每一位,统计一下不同的字符出现了多少次,乘一下就好了。
标签:用两个 指针 匹配 否则 mod 同方 代码 字母 交换
原文地址:http://www.cnblogs.com/foreverpiano/p/codeforces.html