- 博客(94)
- 收藏
- 关注
原创 2021icpc南京 H. Crystalfly
题意:有一棵树,每一个节点都有一个值val[i]表示这个点有多少只晶蝶,t[i]表示假设你到达该点连接的点之后,经过多少秒该点的晶蝶都会跑光(从一个点到另一个点花费时间为1).问最多可以抓多少晶蝶。f[x][1]=max(f[x][0]+val[y],f[x][1]),意为假设该节点的子节。temp=f[y][0]-f[y][1]+val[y]的最大值(j表示拐弯后往下那个点,y表。f[x][0]的计算方法很简单,直接Σ(f[j][1]-val[j])即可,意为我们取。弯回到这个j点往下走的情况.
2022-10-19 10:13:18
664
原创 Educational Codeforces Round 135 (Rated for Div. 2)(A-D)
所以我们可以尝试先让第i位为i,然后模拟题目给的操作,遍历到n-2,观察此时x的值为多少,如果此时x==0,那么最后两位一定可以加上来,反之,我们交换1和n-2的值在遍历输出即可.当前情况你的n-3位置x一定不是0且>n-1,那么满足这个情况的话只存在于n-3,n-2这两个位置的x都是>0的,(因为只有这样才会让n-1为0来不合法,n-2+n-3>n-1)所以交换之后,n-3是肯定
2022-09-09 02:22:06
903
原创 Codeforces Round #818 (Div. 2)(A-E)
思路:我们把lcm(a,b)/gcd(a,b)中的lcm展开为a*b/gcd(a,b),式子就变成了a/gcd(a,b)*b/gcd(a,b)
2022-09-04 01:39:12
774
1
原创 Codeforces Round #814 (Div. 2)
思路:我们可以贪心的去变化,花费一点能量把遍历位置前一位的数移动到下一位去,例如[1,2,4]变化之后就是[0,3,4]->[0,0,7],用一个f数组记录此时的花费为多少,用一个map记录一下移动之后a[i]的位置在哪里.如果我在进行a[i]的变化之后,a[i]在之前出现过(map判断)那么这一个区间异或和就为0,那么我们直接进行f的状态转移f[i]=max(f[i],f[map[a[i]]]+区间长度).当他为0我们就可以直接往下进行操作而不是把这一位转移到下一位了.
2022-09-02 17:28:27
631
原创 Educational Codeforces Round 134 (Rated for Div. 2)
思路:最小值好求,只需要在b数组中找到第一个大于a[i]的元素b[j],用b[j]-a[i]即为当前这位的di的最小值.最大值就稍微难一点.我们可知最后一位的对大致是固定的,那么就倒着往前遍历.我们记录当前能和a数组匹配的最大的b数组中元素下标是p.当a[i]>b[i-1]的时候,那么i到p区间内合法最大值都是b[p]-a[i].此时再往前会因为a[i]>b[i-1]而导致规则不成立,直接把p更新为i-1,在继续匹配即可.
2022-09-01 20:57:04
574
原创 2022“杭电杯”中国大学生算法设计超级联赛(5)
思路:一眼dij+建立虚点.可是这个虚点建立会有一点问题.我一开始是对于x+k和x-k向着x建议一条边.这里就会出现问题,这样的话进行缩点的操作,同层的点也可以互相到达了(用过这一层到x在到这一等的另一个点),此时考虑进行点的拆分,如果我们把上述的每一个虚拟节点拆分成两个节点,一个出节点一个入节点,(x也要进行拆分),这样就不会让同层节点相互链接,因为这样要保证每个点的出节电和入节点相连接才能互相连接,而之后的操作不会吧无关的出入点相连.所以成立....
2022-09-01 01:13:10
328
原创 “蔚来杯“2022牛客暑期多校训练营6(BGJM)
登录—专业IT笔试面试备考平台_牛客网牛客网是互联网求职神器,C++、Java、前端、产品、运营技能学习/备考/求职题库,在线进行百度阿里腾讯网易等互联网名企笔试面试模拟考试练习,和牛人一起讨论经典试题,全面提升你的技术能力。...
2022-09-01 00:47:49
258
原创 Codeforces Round #816 (Div. 2)
题意:g(l,r)的含义是数组内的子段l到r内有多少个连续区间(例如[1,1,3,3,2,1]有4个连续的区间(区间内元素相同)),g(l,r)的值即为可以被分成的连续相等区间个数.我们每次可以对原数组中某一个元素进行修改,求出每一次修改后盖数组的所有子段的g(l,r)的值的和.题意:给你n,k,b,s四个数,分别意思为,有一个长度为n的数组,s为每个元素没有除k后求和值,b为每个元素除k之后求和的值.问你是否可以构造出一个数组.思路:观察样例即可,注意1,1时要特判。...
2022-08-31 11:44:46
396
原创 “蔚来杯“2022牛客暑期多校训练营5(A,D,G,其余感觉都是数学题就没上这里记录)
这场unr了,感觉好多几何题数学题.null牛客ACM提高训练营是面向ICPC/CCPC/CSP/NOI比赛备战的选手,由金牌选手命题,提高训练高难度的编程比赛,ACM/NOI拔高训练营。题目翻译来自牛客群群友。
2022-08-19 16:04:20
184
原创 Codeforces Round #815 (Div. 2)
思路:当你的任意一个一个小正方形里面包含有两个即以上的0时,你会发现我们可以实现每一步只消去1个1,然后邻近的正方形消去1个1也只需要一步.而当每个小正方形最多只含有1个0时,需要先一步消去两个1然后在每步消去1个1.当不含有0时,则需要一步消去三个1之后才能做到一步消去1个1.,al−1,ar+1,ar+2,…,如果把他们二进制全部化为1的话就是255.异或运算在上述不等式可以让i和j造成的最大差距就是255.也就是说.我们只需要枚举i后面最多255的j即可.那么枚举剪枝复杂度变为O(200*n)....
2022-08-19 10:03:16
454
1
原创 “蔚来杯“2022牛客暑期多校训练营3
蔚来杯"2022牛客暑期多校训练营3_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ牛客ACM提高训练营是面向ICPC/CCPC/CSP/NOI比赛备战的选手,由金牌选手命题,提高训练高难度的编程比赛,ACM/NOI拔高训练营。"蔚来杯"2022牛客暑期多校训练营3_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ。...
2022-08-06 10:52:37
285
原创 2022“杭电杯”中国大学生算法设计超级联赛(1)(6题newbie,后续会更新)
的方法是否存在,然后直接按照01背包,选与不选进行状态转移.但是由于n的3次方不仅宝空间也爆时间,又因为最后一维里面的值只包含0,1,所以想到用bitset来优化(具体用法不细说).bitset的特性可以让这个01数组的空间和时间都除以32.的意思就是看选的第三个端点和两个素数边端点组成的端点的状况.如果是一长一短,因为是从小到大排列,而且遍历的也在bitset中置为1,所以只要满足这个式子结果为1,也就是一个遍历过一个没有遍历,就可以满足条件,得到1的数量就是可以组成的个数.背包,并且使得物品价值的。..
2022-07-29 15:52:43
228
原创 “蔚来杯“2022牛客暑期多校训练营2补题记录(DGHJKL)
把题补了,感觉要自己梳理一下,就写一下题解,后续会把其他自己能补的也补了."蔚来杯"2022牛客暑期多校训练营2_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ牛客ACM提高训练营是面向ICPC/CCPC/CSP/NOI比赛备战的选手,由金牌选手命题,提高训练高难度的编程比赛,ACM/NOI拔高训练营。https。......
2022-07-27 19:42:42
639
1
原创 “蔚来杯“2022牛客暑期多校训练营1补题记录(ACDGIJ)
把题补了,感觉要自己梳理一下,就写一下题解."蔚来杯"2022牛客暑期多校训练营1_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ牛客ACM提高训练营是面向ICPC/CCPC/CSP/NOI比赛备战的选手,由金牌选手命题,提高训练高难度的编程比赛,ACM/NOI拔高训练营。https。......
2022-07-25 08:40:28
418
原创 Educational Codeforces Round 132 (Rated for Div. 2)(A-D)
思路判断当前门后和当前门后的钥匙所对应的门都是否有钥匙即可.
2022-07-22 12:32:41
788
原创 AtCoder Beginner Contest 259 F - Select Edges
树形dpF - Select EdgesAtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.https://atcoder.jp/contests/abc259/tasks/abc259_f思路:我们先寻找状态,如果对于每个父亲节点考虑,会发现记录状态很麻烦,f[u][v][0/1],对于子节点是否进行连接.这样确定状态的话
2022-07-11 11:22:22
276
原创 Codeforces Round #805 (Div. 3)(A-G)
思路:直接枚举10的k次方即可,取符合条件的最大值.B. Polycarp Writes a String from Memory思路:我用了一个set去遍历这个字符串,如果当前的set的size在插入之后大于3,那么就说明这一段可以连续删除的一段可以删除了,就刷新set并且记录次数即可.C. Train and Queries思路:Cwa3我差点就不想写摆烂了.我们发现数据小于1e9,但是点的个数只有1e5,就可以考虑用离散化,离散化每个站点的数据之后找到每个站点出现的最左边的位置和最
2022-07-11 10:58:02
459
原创 2022 Jiangsu Collegiate Programming Contest(ACIJKL)
补题日记,记录一下训练.本场链接Dashboard - 2022 Jiangsu Collegiate Programming Contest - CodeforcesCodeforces. Programming competitions and contests, programming communityhttps://codeforces.com/gym/103743签到,一开始还想用map,实际上看见了1000复杂度,直接n^2复杂度,暴力跑即可.只要对每一个击杀者,和他后面的被他击杀的人进行遍历
2022-07-10 15:56:59
2010
5
原创 Codeforces Round #745 (Div. 2)(A-C)
目录A. CQXYM Count PermutationsB. Diameter of GraphC. PortalProblem - A - CodeforcesCodeforces. Programming competitions and contests, programming communityhttps://codeforces.com/contest/1581/problem/A题意:给你一个n然后求有几个2n的全排列是满足条件的,条件:一个排列数组中的p(i)< p(i + 1)中的i的数
2022-07-10 15:03:07
335
原创 Codeforces Round #746 (Div. 2)(A-D)
目录A. Gamer HemoseB. Hemose ShoppingC. Bakry and PartitioningD. Hemose in ICPC ?Problem - A - CodeforcesCodeforces. Programming competitions and contests, programming communityhttps://codeforces.com/contest/1592/problem/A题意:怪物的血量为h,你有n把武器,第i把武器可以对怪兽造成a[i]点伤
2022-07-09 17:19:06
364
原创 Educational Codeforces Round 131 (Rated for Div. 2)(A-D)
Problem - A - CodeforcesCodeforces. Programming competitions and contests, programming communityhttps://codeforces.com/contest/1701/problem/A题意:有一片2*2的草地,0表示没有花,1表示有花,我们每一次可以选择一行和一列的花剪掉,最少几次剪完?思路:签到,只有全部为1的状态为2,全部为0的状态是0,其余状态都是1;B. Permutation(枚举)Prob
2022-07-09 15:31:13
392
原创 Educational Codeforces Round 111 (Rated for Div. 2)
Problem - A - CodeforcesCodeforces. Programming competitions and contests, programming communityhttps://codeforces.com/contest/1550/problem/A签到:B. Maximum Cost Deletion题意:给你一个01字符串,我们每次可以删除相连的且内部每个字符都相等的子串.每次删除的长度为l,那么对于答案的贡献就是a*l+b,a和b都是需要进行输入的.问最大贡献
2022-07-08 10:56:04
164
原创 Educational Codeforces Round 112 (Rated for Div. 2)(A-D)
题意:需要n块披萨,做一个块数为6,8,10的披萨分别要15,20,25分钟,问做n块披萨最少要多久思路:没想明白就挺恶心的.小于6的块数都只能按照做六块的时间处理.稍微枚举找点规律就会发现,大于6块的偶数都可以被6,8,10组合出来.而且每一块披萨所需的时间都是2.5min,所以对技术进行+1处理后直接计算.B. Two TablesProblem - B - Codeforceshttps://codeforces.com/contest/1555/problem/B题意,给你一个大桌子的宽
2022-07-07 13:45:28
132
原创 整除分块的学习
数学--数论--整除分块(巨TM详细,学不会,你来打我)_风骨散人Chiam的博客-优快云博客1.概念从一道例题说起在介绍整除分块之前,我们先来看一道算数题:已知正整数n,求∑i=1n⌊ni⌋已知正整数n,求∑i=1n⌊ni⌋在介绍整除分块之前,我们先来看一道算数题:已知正整数n,求∑i=1n⌊ni⌋\begin{aligned}已知正整数n,求\sum_{i=1}^n \left⌊\dfrac{n}{i}\right⌋\end{aligned}在介绍整除分块之前,我们先来看一道算数...https://
2022-07-06 19:31:17
93
原创 Codeforces Round #804 (Div. 2)(A-C)
Dashboard - Codeforces Round #804 (Div. 2) - CodeforcesCodeforces. Programming competitions and contests, programming communityhttps://codeforces.com/contest/1699Problem - A - Codeforceshttps://codeforces.com/contest/1699/problem/A题意:给你一个x,问是否存在:(a⊕b)+(b⊕c
2022-07-06 15:21:27
314
原创 Codeforces Global Round 17(A-D)
Dashboard - Codeforces Global Round 17 - Codeforceshttps://codeforces.com/contest/1610目录A. Anti Light's Cell GuessingB. Kalindrome ArrayC. Keshi Is Throwing a PartyD. Not Quite Lee(裴蜀定理,组合数学)题意:有一个隐藏的格子,我们可以告诉你某个点和它的曼哈顿路径长度(|a1−a2|+|b1−b2|).问最多问几个点可以知道这个隐藏
2022-07-06 14:57:41
457
1
原创 中国剩余定理(crt)和扩展中国剩余定理(excrt)
crt是用来对于一个一元线性同余方程求解的算法: 其中 m 1,m2,m3...mk为两两互质的整数定理:我们设 ,设 设 = 为 模 意义下的逆元.这个一元线性同余方程组的通解为:证明(来自百度百科):下面上板子题:【模板】中国剩余定理(CRT)/ 曹冲养猪 - 洛谷https://www.luogu.com.cn/problem/P1495 拓展crt的作用也是求解下列方程组,但是约束条件不同: 其中 m 1,m2,m3...mk为不一定两两互质的整数.我们每
2022-07-04 18:36:12
282
原创 欧拉函数+欧拉定理+拓展欧拉定理(欧拉降幂)
在数论中,有正整数n,欧拉函数是小于n的正整数中与n互质的数的数目.它的通式如下: φ(n)=n*(1-1/p1)*(1-1/p2)*(1-1/p3)*(1-1/p4)*……*(1-1/pn)这里的p是数字n的质因数.故此可以得到欧拉函数的求法:以上是打表求法.欧拉函数的性质(phi即为欧拉函数):1.当m,n互质时,phi(m*n)=phi(m)*phi(n);2.i%p==0时,phi(i*p)=p*phi(i);3.小于N且与N互质的所有数之和为phi(N)*N/2;4.N为质数时,phi(N)
2022-07-04 13:37:54
656
原创 Educational Codeforces Round 129 (Rated for Div. 2)
这一场算新手友好场,至少我这个新手还是比较舒服的.Problem - A - CodeforcesCodeforces. Programming competitions and contests, programming communityhttps://codeforces.com/contest/1681/problem/A签到,谁手里的最大牌最大谁赢.B. Card TrickProblem - B - Codeforceshttps://codeforces.com/contest/16
2022-07-04 11:10:34
261
原创 Exgcd(拓展欧几里得算法)的初步理解
若a,b是整数,且gcd(a,b)=d,那么对于任意的整数x,y,ax+by都一定是d的倍数,特别地,一定存在整数x,y,使ax+by=d成立。它的一个重要推论是:a,b互质的充分必要条件是存在整数x,y使ax+by=1.针对于一次不定方程ax+by=c进行求解,利用以上的裴蜀定理可以进行求解,当然要满足 gcd(a,b)|c 这个前置情况这个时候实际上就是对于b*x+(a%b)*y=d(辗转相除法求得)a%b=a-(a/b)*b进行带入即可得到:a*y-b*(x-(a/b)*y)=d和原式ax+by=d对
2022-07-03 20:09:24
7383
6
原创 埃氏筛+欧拉筛+区间筛
埃氏筛的意义很简单,每次我对现在遍历到的素数进行枚举,对它的所有的在区间内的倍数进行枚举,这些枚举的数字都是合数,当我们把所有的区间内素数的倍数枚举完时,把他们都做上标记,未被标记的就是素数.这样还可以保证下次枚举的必定是素数,因为合数已经被标记了.但是欧拉筛有个缺点,我们每次进行素数倍数的枚举,会产生的重复的枚举,比如一个数字是某几个素数的倍数,就会重复枚举几次.如果我们能够消除重复的枚举,在这个前提之下,就创造出了欧拉筛. 欧拉筛的含义就是优化的埃氏筛.每次我们判断某个数是否为素数,
2022-07-03 15:46:31
164
原创 Codeforces Global Round 21(A-E)
目录A. NIT orzB. NIT Destroys the UniverseC. Fishingprince Plays With ArrayD. Permutation GraphE. Placing JinasProblem - A - CodeforcesCodeforces. Programming competitions and contests, programming communityhttps://codeforces.com/contest/1696/problem/A签到B
2022-07-03 13:43:16
348
2
原创 Codeforces Round #793 (Div. 2)(A-D)
目录A. Palindromic IndicesB. AND SortingC. LIS or Reverse LIS?D. Circular Spanning TreeProblem - A - CodeforcesCodeforces. Programming competitions and contests, programming communityhttps://codeforces.com/contest/1682/problem/A题意:给你一个回文串,你可以删除一个字符串,保证这个回文串还
2022-07-03 13:00:33
183
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人