- 博客(18)
- 收藏
- 关注
原创 十进制分数转换二进制数
在进行十进制数转换为二进制数时:设A/B(十进制分数)=0.x1,x2,x3,…xn (转化而成的n位二进制)若 2A>=B,则得一位二进制数 ”1“,且A=2A-B;若2A<B,则得一位二进制数”0“,且A=2A;重复如上操作,直至A=0或进入循环为止。...
2021-09-13 22:58:55
1925
原创 2018-2019 ICPC南京赛区(补题)
链接:比赛链接A.Adrien and Austin (博弈)题意有一堆从1~N编号的石子,两个人轮流取不超过k个连续编号的石子,当轮到某个人石子已取完,则该玩家输。题解1、0个石子,第一个认输2、k为1,则每个人只能取一个石子,奇数奇数先手赢,偶数后手赢3、先手从中间取一定数量的石子,留下数量相等的两边的石子,随后后手怎么取,先手就怎么取,先手一定赢ac代码:#include<iostream>#include<iomanip>#include<cstr
2021-08-27 16:23:29
252
原创 2018-2019 ICPC南京赛区I.Magic Potion(网络流-最大流)
题目:I.Magic Potion题意给出n个英雄和m个怪兽,第i个英雄可以从自己可击败属于mi集合的怪兽中的一个。现有k瓶药水,每瓶药水都可以让任意一个英雄多几百一个人怪兽。问最多可以击败多少个怪兽。题解求最大流,1——m个怪物重新设置序号为1+n——1+n+m的结点,1——n个勇士重新设置序号为2——1+n的结点,源点序号为0,汇点序号为h=n+m+2。勇士向怪物连边,并设置流量上限为1。源点向每个勇士连边,并设置流量上限为1。设置一个序号为1的虚拟节点,源点连到虚拟结点,流量上限为k,虚拟节点
2021-03-24 22:31:30
310
原创 Codeforces Round #560 (Div. 3) F2. Microtransactions (hard version)补题(二分+贪心)
题目:F2. Microtransactions (hard version)题意商店一共有n种商品, 这些商品如果是在售 则需要一金币,否则需要二金币 。一个人每天早上可以得到一块钱,晚上可以用这些钱买一些商品。对于这n件物品,第i件需要买k[i]件。有m个在售优惠,d[i],t[i]表示若在d[i]天买种类t[i]的商品,则需要1块钱。求最少天数买完所需的商品。题解二分,从大到小来枚举第x天是否能买完就行。如果第x天可以买完,那么超过x天肯定也可以买完,所以再缩小x,否则扩大x。判断第x天是否
2021-02-04 18:15:11
141
原创 Codeforces Round #554 (Div. 2) E. Neko and Flashback补题(欧拉路径)
题目:E. Neko and Flashback题意有一个1~n-1的排列p 和数组a定义数组b,c,b’,c’:b[i]=min(a[i],a[i+1])c[i]=max(c[i],c[i+1])b’[i]=b[ p[i] ]c’[i]=c[ p[i ]]给定b’和c’,问是否存在原数组a满足给定的数组。题解之前做过一次欧拉通路的题目,但是时间久远已经没有什么印象了,补充一下相关知识。(参考文章)根据题目可知,bi一定是小于等于ci的,所以只要bi>ci则直接输出-1。bi和c
2021-01-24 21:26:52
194
原创 Codeforces Round #554 (Div. 2) D. Neko and Aki’s Prank补题(DP)
题目:D. Neko and Aki’s Prank题意给出n对括号,由这些括号构成长度为2*n的合法括号序列构成的字典树,给这个字典树染色,要求相邻的边不能同时被染色,求最多可染多少条边。题解想不出来,我没啥想法。。。参考博客:看了半天找到的解释较为清晰的大佬思路长度为x,不平衡度为y的子树染色方案数相同实际是指,所有有效括号序列中从第一个位置到第x个位置所包含的“(”和“)”数量若是相同的话,接下来可以构造的字典树子树的情况是相同的,画图可以更好理解。该篇文章中的color[x][y]根节
2021-01-23 23:16:53
121
原创 Codeforces Round #554 (Div. 2) C. Neko does Maths补题(数学)
题目:C. Neko does Maths题意给出两个数a,b,求最小的非负数k使得a+k和b+k的最小公倍数最小。题解div2!!C题!!我一点想法都没有!!!参考:大佬的思路(Ps:有一处错误,k=因子-x%因子)ac代码:#include<iostream>#include<iomanip>#include<cstring>#include<cstdio>#include<cmath>#include<queue
2021-01-23 19:41:46
108
原创 Codeforces Round #506 (Div. 3) F. Multicolored Markers补题(数学思维)
题目:F. Multicolored Markers题意有a个红色正方形,b个蓝色正方形,要求这a+b个正方形需构成长方形且其中的必须有所有的红色块或者所有的蓝色块也构成一个长方形。求该大长方形的最小长度。题解有所学知识可以判断,长方形的面积一定,长方形的长宽越相近,长方形的周长越小,设大长方形的长度为j,宽度为i,小长方形的长度为ml,i从1开始到sqrt©遍历,遍历过程中小长方形的长度ml也在不断减小。只要找到c%i==0&&j>=ml的这些的最大的i即可。ac代码:#
2021-01-22 21:08:41
90
原创 Codeforces Round #506 (Div. 3) E. Tree with Small Distances(树形DP)补题
题目:E. Tree with Small Distances题意给出一颗具有n个顶点的无向树,增加最小的边数量,使从根结点1到任意顶点的最短路径长度不超过2.题解先用树形dp求出每个结点到根结点1的路径长度,最后按路径长度从大到小排序,将路径长度大于2的结点的父节点与根结点相连,修改次数则加一,最后求出修改总次数。ac代码:#include<iostream>#include<iomanip>#include<cstring>#include<c
2021-01-22 20:07:56
108
原创 Codeforces Round #535 (Div. 3) F. MST Unification补题
题目:F. MST Unification题意给出一个无向带权连通图,在不改变原来最小生成树权值的条件下,可以将任意的几条边的权值加1,操作次数不限,要求获得的最小生成树是唯一的,求出最小需要改变的次数。题解参考:https://www.cnblogs.com/shuaihui520/p/10320158.htmlac代码:#include<iostream>#include<iomanip>#include<cstring>#include<cs
2021-01-16 15:23:30
86
原创 Codeforces Round #535 (Div. 3) E2. Array and Segments (Hard version)补题
题目:E2. Array and Segments (Hard version)题意给含有n个元素的数组a,给出m个可供选择的数组段,若选择一个数组段,则该段的数组元素都要减1,选择若干数组段,找出更新之后的的数组a的最大最小元素的最大差值。题解线段树,第一遍没有仔细思考,以为只要选择所有包含最小元素的数组段即可,错在了第15个测试数据。在仔细思考之后,发现如果有其他元素包含的数组段都选择之后,可能最后该元素的值会变得更小。代码1(wa15):#include<iostream>#
2021-01-15 19:59:56
91
原创 codeforces-Good Bye 2020 E.Apollo versus Pan补题
题目:E.Apollo versus Pan题意题解对于每个数,求出其与所有数&后的和,用a表示,同时求其与所有数|后的和,用b表示。在处理&运算的过程中,对于每一个xi,其二进制中每一位为1的位置找出该位置上为1的数有多少个,再计算这一位上的贡献度;在处理|运算的过程中,对于每一个xi,分别处理其二进制中每一位为1的位数和每一位为0的位数来求其在这一位上的贡献度。例:x[i]=100110&运算:a+=(1<<6-1)*cnt[6]+(1<<3-
2021-01-03 15:23:59
155
原创 2018江苏省赛C.Just h-index(主席树+二分)
题目:Just h-index题意给出n个数,q次询问,每次询问给出一个区间[l,r],要你求出最大的h,使得在[l,r]这个区间内满足,有h个数的值大于等于h。题解西安建造主席树,无需去重,每次查询用二分查询,h右边的个数是否大于h,如果是,那么就往右子树走,否则就往左子树走。此题中我们需要处理的是位置,因此无需去重。正确代码:在这里插入代码片...
2020-11-11 12:17:36
214
原创 2020ICPC小米网络选拔赛第一场A.Intelligent Waregouse(欧拉筛+dp+dfs)
题目:A.Intelligent Waregouse题意从n个数中选出一些数,要求这些数中任意两个数其中一个是另一个的倍数,求能选出的最大值。题解用dfs枚举每个数的约束,然后再从小到大将ai重新排个序,用dp求出每个数为最大值可能封装的互为倍数的数一共有多少个。正确代码#include<iostream>#include<iomanip>#include<cstring>#include<cstdio>#include<cmath&
2020-10-29 18:44:07
94
原创 2020-CCPC秦皇岛区域赛E.Exam Results(差分)
题目:http://codeforces.com/gym/102769/problem/E题意有n个同学,每个同学可能获得一个高分ai或者一个低分bi,取x为这n个同学中的最高分,给一个p(1<=p<=100),若成绩>=x*p%则为通过,否则为不通过。题解最开始的想法是,将每个人要想过x可能的取值区间求出来,[bi,bi100/p]∪[ai,aip/100],由于数据过大,先离散化然后用线段树维护一下,将每个区间+1。找出最大的最差成绩bmax,然后单点查询所有大于等于bmax的
2020-10-27 21:29:23
1111
原创 2019-ICPC银川区域赛K.Largest Common Submatrix(悬线法)
题目:https://nanti.jisuanke.com/t/42391题意两个nm的矩阵,矩阵中的数字从1~nm随意排列,求这两个矩阵的最大公共子矩阵。题解将给出的第一个矩阵从上至下,从左到右重新编号为原矩阵出现的位置,如下:5 6 7 8 1 2 3 4 1 2 3 4 ——> 5 6 7 89 10 11 12
2020-10-21 23:37:30
750
1
原创 New Year Domino-cf - 500E(线段树+离线)
题目:https://vjudge.net/problem/CodeForces-500E/origin题意:多米诺骨牌从1~n,知其所在坐标位置和牌的高度,要求让查询的一段连续位置的骨牌按次序倒下需要增加的长度题解第一次只考虑到了两个相连的骨牌前一个对后一个有影响,忽略了前面足够高的骨牌可能会对后面多个位置的骨牌的影响。错误代码#include<iostream>#include<iomanip>#include<cstring>#include<
2020-10-14 17:09:50
106
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人