Codeforces Round #460 (Div. 2) 919 笔记

Posted surrender

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces Round #460 (Div. 2) 919 笔记相关的知识,希望对你有一定的参考价值。

A. Supermarket
输入n,m, (1?≤?n?≤?5?000, 1?≤?m?≤?100)表示n组价格数据和目标重量m
接下来n组价格数据,表示为a元b千克,每组无限取
求最小花费
B. Perfect Number
输入k,1?≤?k?≤?10?000,求第k个完美数
完美数定义为数位和=10
(tutorial中说难度可以升级为k<1e18)->用数位dp可解
C. Seat Arrangements
输入n,m,k (1?≤?n,?m,?k?≤?2?000)表示nm的课室,有k人
要求k人横着坐或竖着坐,求方案数
输入.表示空位,
表示已坐
(如果是任意连着坐,难度好像很大?)
D. Substring
输入n,m <3e5 表示n点m条有向边
第二行输入由小写字母形成的字符串,表示每个点上的字符
接着输入边
路径的值为路径上出现最多字母的个数,求路径的最大值,无穷输出-1
E. Congruence Equation
输入a,b,p,x (2?≤?p?≤?10e6?+?3, 1?≤?a,?b?<?p, 1?≤?x?≤?10e12).
求多少个n(1<=n<=x)满足n(a^n)=b(mod p)(p是素数)
F. A Game With Numbers
A和B玩游戏,每人8张牌,每张牌的值为0到4,当轮到某人时,要从两人手中各拿一张牌a和b,要求a
b!=0,然后用c=(a+b)%5替换掉自己拿的牌,如果有人手上全是0,就赢了。给出T组数据,每组给出两人手上各牌的值,给出谁先手,问在最优策略下,谁能赢,或者打平。
(1<=T<=1e5)





笔记(非题解):

A B 水题
C 横着、竖着暴力枚举即可
D 原先做法dp[i]表示当前i到之后路径上最大值,另用辅助数组d[i][j]表示i最优时颜色j的数目
实际上只要d[i][j]即可,表示到i时j的最大值,转移维护即可
是DAG用上法,有环则-1
E

  1. n%p的周期为p,
  2. a^n%p的周期为p-1,
  3. 整个左式的周期为p(p-1)
    由1知n=i
    p+j
    a^(p-1)%p=1
    令n=i(p-1)+j
    由欧拉降幂公式知a^n%p->a^(n%(p-1))%p->a^j%p
    (i
    (p-1)+j)a^j==b
    ->j-i==b/(a^j)
    ->i==j-b/(a^j)
    枚举j求i,求n,然后不断+p
    (p-1),判断是否ok即可

F 留坑

以上是关于Codeforces Round #460 (Div. 2) 919 笔记的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces Round #460 (Div. 2)

Codeforces Round #460 (Div. 2) 前三题

Codeforces Round #460 (Div. 2) 919 笔记

Codeforces Round #460 (Div. 2)

Codeforces Round #460 (Div. 2) B Perfect Number(二分+数位dp)

Codeforces Round #460 (Div. 2) D. Substring BFS拓扑排序dp