题解
文章平均质量分 61
铁鸦
111
展开
-
Codeforces Round #694 (Div. 2) A,B,C 总结&题解
A题 Strange Partition 仔细思考可以发现其实最大的策略就是每个都去向上整除,最小的策略就是先求和再向上整除,因为你一旦能够凑成倍数,那么对你来说是亏的。代码#include <ctime>#include <cstdlib>#include<iostream>#include<algorithm>#include<math.h>#include<cstdio>#include<string&g原创 2021-01-06 11:14:40 · 330 阅读 · 2 评论 -
Omkar and Circle CodeForces - 1372D (前缀,化圆为直)
Omkar and Circle CodeForces - 1372D ]题目链接分析: 最开始想的一直替换最小的但这样并不能保证最大,比如数据:8 2 1 3 8。然后想了一下合并的过程相当于要从n个数中踢去n/2个数,然后使得总和最大。只有踢不相邻的两个数,才不会多踢数。所以题目相当于从n个数中踢去n/2个不相邻的数。 接着举一个例子,比如5 4 3 2 1这组数据将其首尾连接(画圆为直)。 先看这个表格,后面会解释下标12345678910ai原创 2020-08-21 10:36:32 · 192 阅读 · 0 评论 -
EXTENDED LIGHTS OUT POJ - 1222 详解(高斯消元异或方程组,构造)
题目链接题目大意 给定一个5*6的0 1 矩阵,0代表灯灭,1代表灯亮,按下一个灯时,那个灯和上下左右附近的灯会随着那个灯往目前灯相反的状态改变。最后要使得所有灯灭。输出一个0 1矩阵表示所相应位置的灯按还是不按。分析 拿一个3*3的矩阵作为例子:设灯的初始矩阵L,也就是初始的状态为L=[100010000] L=\begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 0 \e原创 2020-08-17 21:32:09 · 278 阅读 · 0 评论 -
1398C - Good Subarrays
比赛的时候没想出O(n)的解法,之后看了下别人写的博客。感觉有点巧妙。感觉是道好题(可能是我太菜了)。分析: 很自然想到前缀和。假设y>=xy>=xy>=x,即题目要求对于区间[x,y]使得等式sum[y]−sum[x−1]=y−(x−1)sum[y]-sum[x-1]=y-(x-1)sum[y]−sum[x−1]=y−(x−1)成立。然后移项可得sum[y]−y=sum[x−1]−(x−1)sum[y]-y=sum[x-1]-(x-1) sum[y]−y=sum[x−1]原创 2020-08-17 15:37:52 · 138 阅读 · 0 评论