- 博客(12)
- 收藏
- 关注
原创 Codeforces-CF-126B-Codeforces Beta Round #93 (Div. 1 Only) B. Password 题解 Z函数(拓展KMP)
CF-126B Password 题解题目(Problem)英文题面中文大意做题思路(Thinking)代码(Code)题目(Problem)英文题面Asterix, Obelix and their temporary buddies Suffix and Prefix has finally found the Harmony temple. However, its doors were firmly locked and even Obelix had no luck opening th
2022-03-03 15:07:22
510
原创 2021“MINIEYE杯”中国大学生算法设计超级联赛(HDU多校)第7场 Smzzl with Safe Zone 题解
题面题目链接题目大意:给定两个凸包,保证B凸包在A凸包里面,求B凸包任意一点到A凸包的最短距离的最大值。做法:非常明显是一个旋转卡壳。不断模拟可以得到,外凸包上的顶点到内凸包的最短距离必定大于外凸包对应线段上的某点到内凸包的最短距离。所以枚举外凸包的所有顶点对内凸包的距离进行旋转卡壳即可。本题坑点在于,顶点到内凸包的最短距离有两种情况,一种是连接在内凸包的顶点上,另一种对内凸包某一线段做垂线所得的长度。所以我们要取逆元,而取模之后是无法比较大小的,所以这里用double先记录线段的大小
2021-08-11 15:16:00
464
1
原创 Codeforces Global Round 15 C. Maximize the Intersections
题目:题目链接题目大意:给定一个n,k代表有2n个点,k条边。让你给剩下来2(n-k)个点连线,让所得的点最多。思路:是一个贪心的思路,筛选出没有连接上的点,把没有连接上的点第一个和中间连,第二个和中间开始第二个连,以此类推,再计算出点的个数。Code:#include <bits/stdc++.h>using namespace std;void solve() { int n, k; cin >> n >> k;
2021-07-28 15:13:44
214
原创 G题 - Wall Game题解 第18届浙江省程序设计竞赛(ZJCPC:The 18th Zhejiang Provincial Collegiate Programming Contest
题面(The Problem)题意(The Meaning of the problem.)n组输入,每组输入三个数字,第一个数字代表操作类型, 第二三个数字代表坐标:操作1:在整个图上添加点,并和相邻的点联通操作2:查询这个点的整个联通的快,输出整个块的边的数量解题思路(The Thinking of Solving the Problem)思路是用并查集维护,因为输入正负1e9所以要做离散化。我的思路是用结构体表示点,用map维护node映射到node的数组里面。(比赛
2021-04-21 20:09:05
2349
1
原创 CodeForces Round #712(Div.2) C.Balance The Bits. 题解
题面(The Problem):题目通道题目大意(The meaning of the problem):T组数据,给定一个n,下面是n长的字符串,输出两个只包含’(‘和’)'的字符串,保证括号是正确的(例如“()“是正确的,”)(“是不正确的)。输入了1的位置两个字符串相等,输入0的部分两个输出字符串不同。思路(Method):首先头和尾必须分别是(和),所以第一个输入和最后一个输入必须都是1。判断1的个数和0的个数是否都为偶数(事实上判断一个就可以因为n保证是偶数),如果不相等肯定输
2021-04-05 17:14:52
249
1
原创 CodeForces Round #712 B. Flip the Bits 题解
题面(The Problem):题目链接题目大意(The meaning of the problem):给定两个只包含1和0的字符串,每次操作可以选定前i个字符进行反转(1变成0,0变成1),并且保证选定的前i个字符内0和1的数量相同。如果能把第一个字符串变成第二个输出YES否则输出NO思路(The method of solving):0(N)记录所有1和0刚好相同的点,判断每两个点中间的字符是否相同或者取反即可。如果最后一段的1和0不相等,判断最后一段是否完全相同,如都满足则输出Y
2021-04-05 16:18:57
263
原创 2021 第45届icpc昆明站 J题 Parallel Sort 题解
题目(Problem):题目通道题目大意(The meaning fo the problem):给出一个组全排列数字,每次操作可以对排列中任意两个数交换,要求每次交换不重复使用某一个数字。输出需要的次数和每次的操作。题目思路(The method of solving):构建环。对于a[i]找到a[a[i]]连环,由于是全排列最后一次肯定找到第一个a[i]对于某一个环,最多只需要两次操作。所以操作只有可能是0,1,2次。对于一个长度大于2的环,将环拆分成n/2个只有2个点的环,最后
2021-04-05 15:28:57
617
1
原创 2021 ICPC昆明站 K Riichi!! 题解(妈妈再也不用担心孩子不会打麻将了)
题目通道(link of the problem)题面(The Problem):题面简直长的要死,一看就是大模拟,队里可能就我打过麻将,我直接拿来读了,比赛的时候看了我好久。题目大概意思(Meaning of the problem):给你一手14张的手牌,判断打掉打哪一张听牌并且输出对应的听的牌,如果已经胡了的话直接输出Tasumo众所周知(bushi)麻将胡牌要一对雀头(指的是两张一样的牌)剩下来要全部是碰(三个相同)或者吃(三个按照顺序的牌)(其实是中间没有杠或者碰或者吃之判断手牌
2021-04-04 21:03:14
1499
1
原创 ICPC昆明站2021 I题Mr. Main and Windmills题解
队友开始都在开L题,感觉没有进展我就看了看计算几何,发现意外的简单,后来陆陆续续队友有L题想法就上,WA了几发L的同时我写出了I题,结果发现段错误,原来是题目读错了,稍加修改一发过(英语的重要性)。据说很多人卡精度,不知道为什么,我把我的定义改成double也还是能过。可能我用的是自己手推的公示,用的是小学二年级就学过的y=kx+b 斜率方程式求。据说别人模板精度改成1e-1就过了。题面:题目链接题意大概是一个火车从一点到另一个点。有n个风车,会随着位置的移动在火车视角看,位置会向左或者向右偏
2021-04-04 14:16:24
1239
3
原创 浙江农林大学蓝桥杯程序设计竞赛校选拔赛 E-谁是天选之人
可以用线段树做,但我这里用了……并查集,后面找到的区间肯定会把前面的给覆盖掉,所以我们倒着循环,遇到已经改变过的部分不改变。用数组记录当前区段最右边改变的点,从这个部位开始变化。#include "bits/stdc++.h"using namespace std;const int MAXN = 1e6 + 5;int fa[MAXN] = {0}, A[MAXN] = {0};int get(int x) { if (fa[x] == x) return x; re
2021-03-09 22:20:26
234
原创 Codeforces Round #681 (Div. 2, based on VK Cup 2019-2020 – Final)题解
CodeForces题目通道A. Kids Seating这题是一题很简单的思维题。n~2n-1之间的数必然不会互相被整除,所有数字乘以2也就可以满足gcd不为1的条件,且范围在4n内。#include "bits/stdc++.h"using namespace std;int main(void) { int t; cin >> t; while (t--) { int n; cin >> n;
2021-03-06 22:19:39
184
原创 Educational Codeforces Round 105 (Rated for Div. 2)题解
CodeForces题目链接A.ABC String很简单的一道题目,判断YES的条件大致有三个:正反括号个数相同,第一个和最后一个字母不能是同一个,遍历时”)”的数量要保持不大于”(“。AC Coding:#include "bits/stdc++.h"using namespace std;int main(void) { int t; cin >> t; while (t--) { string str; cin &g
2021-03-06 15:44:16
229
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人