传送门 >> Codeforces Round #321 (Div. 2)
很久没写过codeforces相关了…期间一路打到紫名又掉回蓝名…
欸…昨晚cf水出新高度,没想到自己竟然没有起得来…五点惊醒打了下virtual contest,两小时还是切了四题的…
下面是题解↓
A. Kefa and First Steps
-
[Description]
给一个的数组,求最长连续不降序列的长度。 -
[Solution]
-
[Code]
1 |
|
B. Kefa and Company
-
[Description]
不超过个物品,每个物品两个描述值a,b,给定一个整数d。现在要求选出一些物品使得,任意集合内的物品a的差值不超过小于d,且b的总和最大。 -
[Solution]
单调队列。 -
[Code]
1 |
|
C. Kefa and Park
-
[Description]
给定一个结点不超过的树,每个结点的权值为0或1,对于每个叶结点,若它到根结点的路径上有连续权值为1且长度≥d的一条链,对答案无贡献,否则答案+1。输出答案。 -
[Solution]
DFS. -
[Code]
1 |
|
D. Kefa and Dishes
-
[Description]
给定n个物品,要求选出m个排序,第i个物品获得a[i]的贡献。给出k条关系,表示若i排在j之前,则获得b[i][j]的贡献。求一种选物品和排序的方案,使得总贡献最大。 -
[Hint]
1≤m≤n≤18 -
[Solution]
状压DP(看着数据范围就知道).
设i为状态,j为序列的最后一个数,转移方程为
f[i][j]=f[i xor (1<<j)][k]+a[j]+a[k][j],j∈i且k∈i xor (1<<j) -
[Code]
1 |
|
E. Kefa and Watch
-
[Description]
给定一个不超过105个元素的数字字符序列a,给定不超过个操作,分为两种:
1)l r c : 将区间[l,r]内所有元素改为c
2)l r d:询问区间[l,r-d]里所有i是够满足a[i]=a[i+d] -
[Solution]
线段树+Hash.
满足条件的区间满足[l,r/dd]和[l+r-r/dd,r]的哈希值相同。