icpc
文章平均质量分 91
Eter`nal
蒟蒻菜鸟的进阶之路。
展开
-
2020.icpc 南京
Evil Coordinate 构造+模拟大意:给定长度为 n 的由 “LRUD” 组成的字符串,以及一个障碍点坐标,问任意排列字符串是否能避开障碍点,若可以避开,输出排列后的字符串。思路:分类讨论的写法:大致构造角度,对于终点在障碍点的没办法,对于终点不在障碍点的若L,R 均存在,若不能走到与障碍点x的坐标相等,那么显然可以先把L,R 输出完,然后对于U,D随便输出就行,对于L,R 恰好走到与 x 的坐标相等,我们可以随便拿出一个 L或 R ,然后类比于上面,最后再把拿出来的那个字符输出就行了,.原创 2021-12-13 21:17:28 · 287 阅读 · 0 评论 -
2020 icpc 济南
Matrix Equation 高斯消元大意:给定 01 矩阵 A,C求满足 A×B=B⊙CA\times B=B\odot CA×B=B⊙C 01 矩阵 B 的个数。×\times× : Di,j=∑k=1nAi,kBk,jD_{i,j}=\sum_{k=1}^n{A_{i,k}B_{k,j}}Di,j=∑k=1nAi,kBk,j⊙\odot⊙: Di,j=Ai,jBi,jD_{i,j}=A_{i,j}B_{i,j}Di,j=Ai,jBi,j思路:通过观察上述式子我们发现Di.原创 2021-12-02 20:49:37 · 269 阅读 · 0 评论 -
2020 icpc 沈阳
Journey to Un’Goro 思维+dfs大意:有个只包含‘r,b’的长度为 n 的字符串,对于区间 [l,r] 若区间内 ‘r’ 的个数是奇数,那么称这个区间为好的区间,现在需要构造字符串,使得它的好的区间是所有字符串中最多的,输出’'好的区间‘ ’的个数,以及按字典序从小到大输出所有这样的字符串,若超过100个只需要输出100个。思路:对于区间问题,尤其是区间计数类问题,直接做不好做的话,我们不妨尝试转化成前缀问题。记 sumisum_isumi 为 字符‘r’ 的个数的前缀和。那.原创 2021-11-21 21:48:49 · 595 阅读 · 0 评论 -
2020 icpc 上海
Mine Sweeper II 思维大意:类似扫雷,给两个n*m 大小的矩阵A,B,‘X’表示雷,‘.’代表该位置是数字,数字的值是周围八个格子的雷的数量,问是否能不超过 n *m/2(下取整)次操作,使B的数字之和等于 A。输出修改后的矩阵,如果不能输出-1思路:看到 n*m/2 次操作,下意识感觉就两种情况。显然对于 B 和 A 不一样的个数小于操作限制的话,我们可以把 B 修改成和 A 一样输出就好了。对于 不一样的个数大于的情况,我们从反方向思考,那么一样的的个数一定是小于操作限制的。然后..原创 2021-11-16 15:56:54 · 538 阅读 · 0 评论 -
2018-2019 ACM-ICPC, Asia Nanjing Regional Contest
Adrien and Austin 博弈、思维大意:给定 n 个石子,下标1-n。两人轮流取石子。最少1个最多k个,并且取的石子下标连续,不能操作的判输思路:当 k!=1 时,显然先手可以去中间一个或两个使得石子分成对称的两段,然后一直做和后手一样的操作就行了。先手必胜。当 k=1 时每次只能取一个,分就讨论就行了。注意这题比较坑的一个地方是n是可以等于0的。Country Meow 模拟退火大意:三维里有n个点,找一个最小的球将所有点覆盖。思路:方法1:解析几何最优解问题,直接上模.原创 2021-10-10 11:43:41 · 205 阅读 · 0 评论 -
2020-2021 ICPC Southeastern European Regional Programming Contest
Reverse Game 博弈、思维大意:给定一个01字符串S,两人轮流操作,每次可以选择“10”、“110”、“100”、“1010”进行翻转。不能操作的判输。问谁会获胜?思路:题目给的东西都不是随便给的,观察上面给出的几个字符串我们就会发现,最终不能继续进行操作的时候一定是前半部分全部是0后半部分全部是1。因为一旦1后面有0,那么必然可以翻转将0往前面翻,直到翻到前面不再有1为止。每次只翻转10的次数是把每个1后面0的个数加起来。然后我们观察发现,每次翻转,最少少1个、最多少2个“10”。“10.原创 2021-10-05 14:52:10 · 406 阅读 · 0 评论 -
2021.icpc网络赛第二场
Leaking Roof 签到大意:给定 n*n 格子,每个格子的水量为m, 当前格子的水会向周围有公共边的,且高度严格大于的格子等量流动,当且仅当高度为0时水会流出,求最终每个格子流出的水量。n<=500思路:高度最高的格子只会往别的格子流水,直接按高度从小到大排序,模拟就好了。代码如下:#include <bits/stdc++.h>using namespace std;const int N=510;typedef pair<int,int> PI..原创 2021-10-20 17:36:27 · 249 阅读 · 0 评论