自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(595)
  • 收藏
  • 关注

原创 Jozky 刷题目录

文章目录第一章 字符串问题第二章 博弈论第三章 计算几何第四章 网络流第五章 动态规划第六章 数论第七章 图论第八章 数据结构第九章 其他算法第十章 贪心(思维题/构造题)

2021-03-23 11:35:45 41

原创 cf1511B. GCD Length

cf1511B. GCD Length题意:定义gcd(x,y) = z现在给你a,b,c三个数字,含义分别是不带前导0的x是由a个数字构成的不带前导0的y是由b个数字构成的不带前导0的z是由c个数字构成的题解:很明显构造题,但是我想不出来。。我们想控制gcd的长度为c,我们知道100和99的gcd为1,100和90的gcd为10,100和1000的gcd为100(利用100…0和9…90…0,我们可以方便控制gcd长度的数)所以构造只需分两种情况考虑:1.c=min(a,b),代表

2021-04-17 20:44:06 30

原创 Codeforces Round #715 (Div. 2)

Codeforces Round #715 (Div. 2)题号题目知识点AAverage HeightBTMT DocumentCThe Sports FestivalDBinary LiteratureEAlmost SortedFComplete the MSTA题意:如果两个相邻的数的和是偶数,则贡献为1如何排序使得贡献值最大题解:奇+奇=偶偶+偶=偶把奇数放一起,把偶数放一起,然后输出代码:#in

2021-04-17 20:21:55 24

原创 Educational Codeforces Round 107 (Rated for Div. 2)

Educational Codeforces Round 107 (Rated for Div. 2)题号题目知识点AReview SiteBGCD LengthCYet Another Card DeckDMin Cost StringEColorings and DominoesFChainwordGChips on a BoardA题意:有3种评论员,第一个会给电影赞,第二个会给电影踩,第三个如果当前踩的

2021-04-17 20:15:23 9

原创 Divide by Zero 2021 and Codeforces Round #714 (Div. 2)

Divide by Zero 2021 and Codeforces Round #714 (Div. 2)题号题目知识点AArray and PeaksBAND SequencesCAdd OneDGCD and MSTECost EquilibriumFSwapping Problem

2021-04-17 20:06:16 7

原创 Codeforces Round #713 (Div. 3)

Codeforces Round #713 (Div. 3)题号题目考点ASpy Detected!签到题BAlmost Rectangle模拟题CA-B Palindrome构造DCorrupted Array构造EPermutation by Sum(未补)FEducation(未补)GShort Task(未补)文章目录A题意:题解:代码:B题意:题解:代码:C题意:题解:代码:D题意:题解:代码:A题意

2021-04-17 20:02:28 6

原创 种类问题

几乎所有种类问题都可以转化成两种模型之一1.直接维护ans数组2.统计二维数点问题前置知识二维静态数点以y为第一元素,x为第二元素,原点优先级大于查询点,对所有点(原点+查询点),然后求for(int i=1;i<=q;i++) { if(q[i].tag==1) add(q[i].x,1); else ans[q[i].id]+=q[i].m*ask(q[i].x); }//q[i].m表示符号区间最值例题:例题1例题2第一个方法:维护

2021-04-14 22:18:17 9

原创 gym 102875A -- Array(未更新完)

gym 102875A – Array题意:对于一个数组a,以及数p,q个操作1.对于区间[l,r],里面所有数+k2.对于区间[l,r],里面所有数 * k3.对于区间[l,r],里面所有数变成k次幂4.对于区间[l,r],输出里面所有数k次幂的和5.对于区间[l,r],输出里面所有数的乘积操作4和5的结果mod p1<=n<=1e52<=p<=300<=a<=1e91<=q<=1e5注:我们规定00 = 1题解:代码:.

2021-04-14 17:08:14 7

原创 I. Intersections

I. Intersections题意:n行,m列,n * m个交点,当我们处于交点(i,j),如果当前时间位于[k * aij + k * bij , (k+1) * aij + k * bij ),我们可以上下移动如果当前处于[(k+1)* aij + k * bij , (k+1) * aij + (k+1) * bij ],我们可以左右移动也可以选择不动cij表示从(i,j)移动到(i,j+1)的时间wij表示从(i,j)移动到(i+1,j)的时间问从(xs,ys)到(xt,yt)的最

2021-04-14 15:18:16 2

原创 2020牛客暑期多校训练营(第三场)

比赛链接题号题目通过率AClam and Fish1453/4902BClassical String Problem1547/6542COperation Love1431/5631DPoints Construction Problem548/2238ETwo Matchings943/4141FFraction Construction Problem1034/6445GOperating on a Graph97

2021-04-14 11:50:22 5

原创 gym 102875 H. Happy Morse Code

gym 102875 H. Happy Morse Code题意:一个长度为n的字符串,现在给你m个小字符串,问小字符串拼成大字符串有多少种方法?答案mod128题解:其实也不难,但是本人对于dp及其不敏感,我看出来是dp,也明白用O(MN)的方法来做,但就是写不出递推式,唉,还要多练设dp[i]表示以i结尾的字符串有多少种表示方法(dp[ i ]表示模式串前i个字符组成的子串 可以由已提供的字符串拼接而成的方法数)转移方程就是:dp[i]+=dp[i-len[j]],(条件s.substr

2021-04-14 11:31:30 6

原创 D - Delete Prime Gym - 102875D

D - Delete Prime Gym - 102875D题意:长度为n的序列,每次从中取出编号为1或质数的数,组成新的序列d现在给一个k,问序列中哪一位的值是k以及序列中第k位是多少共T个询问T< = 2 * 105n,k< = 105题解:其实这题巨简单。。。一开始被吓住了,看了看数据范围,不知道d数组怎么求其实直接暴力求数组d就可以,不要想太多,先筛出不符合要求的数,然后依次将这些数按照第一批,第二批的顺序存在vec[][]中vec[i][j]表示第i批存的第j个

2021-04-13 22:57:26 10

原创 J - Just Multiplicative Inverse Gym - 102875J

J - Just Multiplicative Inverse Gym - 102875J题目:题解:给定一个x,求出F(1,x)+F(2,x)+…+F(x-1,x) 的和除以(x-1)F(x,p)题目已经给出我们观察F()含义,再结合本题含义,本题并不是要求F(x,p)的值,而是求这个函数调用了 几次比如F(5,7)调用了3次,所以就贡献了3,可以结合题目的Note理解我们再看这个函数返回了−p/x · F(p mod x, p) mod p,但是下一层递归只是p mod x,也就是其

2021-04-13 22:28:23 5

原创 C - Cats Gym - 102875C

C - Cats Gym - 102875C题意:n个猫,猫的身高在1到20之间,现在求这些猫的排列,满足一样高的猫不靠着,且他们之间的最矮的猫不比他们高输出任意符合条件的排列题解:构造题题目的限制条件决定了,矮猫的周围都是高的猫,所以我们可以这样,一开始1,然后1的左右生成2,也就是2 1 2 ,然后2的左右生成3,也就是3 2 3 1 3 2 3 ,然后3的左右生成4…如何实现?用两个栈来回导即可代码:#include<bits/stdc++.h>typedef lon

2021-04-13 22:22:35 3

原创 2020 Jiangsu Collegiate Programming Contest

比赛链接题号题目通过数考点Gym 102875AArrayGym 102875BArrayGym 102875CCatsGym 102875DDelete PrimeGym 102875EEliminate the VirusGym 102875FEliminate the VirusGym 102875GGrid ColoringGym 102875HGrid ColoringGym

2021-04-13 21:04:42 17 1

转载 蓝桥杯国赛 皮亚诺曲线距离

参考博客题意:题解:这个很恶魔本质好说就是找规律,但是贼难写。。找了篇题解,做法就是大化小,将大阶化为成小阶,计算出离远点的距离。。。我感觉我是写不出来。。挺秒的,要推公式估计要一阵子代码:#include<iostream>#include<utility>#include<vector>#include<cmath> using namespace std; typedef pair < int , int >

2021-04-13 20:50:48 51

原创 Codeforces Round #712 (Div. 2)

题号题目知识点质量1504ADéjà Vu思维题1504BFlip the Bits贪心1504CBalance the Bits构造题1504D3-Coloring思维题,构造题1504ETravelling Salesman Problem思维题好题啊1504FFlip the Cards贪心,思维题现在还没搞明白,不错的思维题A~D题解代码如下E文章目录A题意:题解:代码:B题意:题解:代码:C题目:题解...

2021-04-13 18:22:35 8

原创 cf 1504 F. Flip the Cards

F. Flip the Cards题意:这个题你也可以看看,就是一个卡片正反两个数,n个卡片在桌子上摆好,你可以任意移动卡片的位置,也可以翻转卡片(翻转一次消耗1点),最终使得卡片的正面为升序,反面为降序,问最少翻转几张卡片题解:有待更新代码:...

2021-04-13 17:41:01 5

原创 CodeCraft-21 and Codeforces Round #711 (Div. 2)

CodeCraft-21 and Codeforces Round #711 (Div. 2)题号题目考点AGCD Sum签到,模拟BBox Fitting贪心CPlanar Reflections规律+暴力(直接乱搞就对了)DBananas in a Microwave思维题,贪心ETwo HousesFhttps://blog.csdn.net/qq_35975367/article/details/115426186博弈论,

2021-04-13 15:50:26 16

原创 蓝桥杯--字串排序

题目:小蓝的幸运数字是 ,他想找到一个只包含小写英文字母的字符串,对这个串中的字符进行冒泡排序,正好需要 V次交换。请帮助小蓝找一个这样的字符串。如果可能找到多个,请告诉小蓝最短的那个。如果最短的仍然有多个,请告诉小蓝字典序最小的那个。请注意字符串中可以包含相同的字符。题解:首先声明,本人只会70%的答案,更全会了再更新蓝桥杯,顾名思义也是暴力杯,不管是什么题,直接暴力肯定没错首先我们可以推出n个字符,最多可以构造的最多交换次数的状态就是倒序放字符,利用公式n * (n-1)/2可以求出最多用多少

2021-04-13 15:33:27 5

原创 平面切分

平面切分问题描述题解:我对这种题极其非常不擅长。。。另外吐槽为什么acwing的数据卡的这么死,蓝桥杯官网数据那么水其实题目很简单,如果只有一个直线,那么就是两部分,如果是两个直线,这两个直线不相交(也就是平行),就是三部分,不想交就是四部分。。。然后枚举跟多的例子你会发现,平面的数量与直线的交点有关系,我们设一开始平面数为2(也就是一开始有一个直线),增加的平面数量为交点数+1,然后你每次加入新的直线,求之前直线的交点,然后用set存就可以了。但是注意注意!!有可能会出现重合或者平行的直线,对

2021-04-13 14:45:07 6

原创 网络分析(带权并查集)

网络分析题意:有n个节点,一开始彼此独立,有两个操作,第一个操作时是连接两个节点,第二个操作是对一个节点+x,(在进行第二个操作时,与该点相连的点也会+x)问每个节点的权值题解:带权并查集我所理解的带权并查集是这样的,就是把所有权值全部加到父亲节点,在路径压缩的情况下,一个并查集里的权值全部移动到根节点,相当于整个并查集共享整个权值,但是有的节点是在其他节点被加后再加入并查集的,也就是共享的并查集并不全归子节点,所以子节点x的值为d[px]=value[px] - value[py]px为x的

2021-04-11 20:39:25 5

原创 动态规划专题复习

很久没做过dp了,都忘得差不多普通dp线性dp树形dp概率dp

2021-04-07 10:29:16 14

原创 P2564 [SCOI2009]生日礼物

P2564 [SCOI2009]生日礼物题意:n个彩珠,k个种类,分布在一个彩带上,现在要选取彩带的一部分,要求该部分包含所有种类的彩珠,且长度尽可能短,你能计算这个最短的长度吗?1≤N≤1000000,1≤K≤60,0≤珠子位置<2{31}题解:比赛时第一反应是尺取,但是一看这个距离放弃了,后来想可以先离散?或者map距离,因为种种原因都没做出,现在赛后补题实质用的是区间伸缩因为珠子的位置范围很大,但是珠子的数量有限,所以我们完全可以枚举珠子的数量我们给每种彩珠编号以及存下每种彩珠的

2021-04-06 18:43:14 30

原创 2018宁夏邀请赛

2018宁夏邀请赛A Maximum Element In A StackB Gym 102222B Rolling The PolygonC Gym 102222C Caesar CipherD Gym 102222D Take Your SeatE Gym 102222E 2-3-4 TreeF Gym 102222F Moving OnG Gym 102222G FactoriesH Gym 102222H Fight Against MonstersI Gym 102222I Bu

2021-04-05 15:42:53 10

原创 Moving On Gym - 102222F

Moving On Gym - 102222F题意:有 n 个城市,q 次询问.给出每个城市的危险度 r 和 城市的邻接矩阵.每次询问给出 u、v、w,求从 u 到 v 且不经过其他危险度超过 w 的城市的最短路.题解:floyd 变形我队友一开始想的是每次加点然后跑dij,但是肯定会超时我想的是给出起点和终点,选出满足条件的城市,然后用这些城市去更新最短路径在本题中就是利用floyd来做,一半来说第三层循环是枚举中间变量k,我们将其提到最外面,对于每一次询问,都有一个危险值上限w,我们根

2021-04-05 15:28:07 5

原创 A - TOYS POJ - 2318

A - TOYS POJ - 2318题意:一个盒子中有n个隔板,分出n+1个空间(从左往右空间的编号分别是0…n),(隔板之间不会相交,且按照从左往右的顺序给出),现在给你m个坐标的物品,问盒子每个空间内有多少物品题解:本质就是判断点在直线的哪一侧我们设直线为:x+by+c=0给一个坐标(x0,y0)如果x0+by0+c = 0说明在直线上(题目数据不可能出现在直线上)如果x0+by0+c>0,说明点在直线的右侧如果x0+by0+c<0,说明点在直线的左侧因为题目给的直线是

2021-04-05 14:31:51 5

原创 Take Your Seat Gym - 102222D

Take Your Seat Gym - 102222D题意:第一次是n个人坐飞机,按照1到n的顺序登机,第一个人登机牌丢了,他随机做一个座位,2到n个人上来按照自己的登机牌坐座位,如果他的座位被坐了,就在随机找一个座位,否则就做自己的座位,问第n个人坐对的概率是多少?第二次跟第一次的区别是不是从1-n按顺序上车了,而是随机找人上车,1号还是丢了登机牌,问问第n个人坐对的概率是多少?题解:概率题最容易把自己算懵第一问:如果n = 1,概率是1(肯定能坐对)如果n = 2,有两个选择,第一个人

2021-04-05 12:02:58 8

原创 Rolling The Polygon Gym - 102222B

Rolling The Polygon Gym - 102222B题意:给你一个多边形,给你内部一个点Q,多边形在平面上滚动一周(当有一个边第二次触地滚动停止),问Q的轨迹长度题解:计算几何题目自己一直不是很擅长也不是很想做,嫌麻烦,但是考了n次自己也不会n次,所以决定跳出舒适圈,开始攻克计算几何我们注意多边形和目标点滚动的方式和轨迹,Q点每次移动轨迹都是一段弧,要求弧长就要知道半径和移动角度。如图一次滚动,我们可以看出滚动角的顶点是p1,滚动角是p1,p2和p1,p3形成的夹角α,旋转角度就

2021-04-05 11:48:22 8

原创 cf1504. Travelling Salesman Problem

cf1504. Travelling Salesman Problem题意:n个城市,编号1~n,每个城市有美丽值a[i],现在要从城市1出发,其他所有城市走一遍,最后回到城市1,城市i到j的花费为max(ci,aj-ai),ci为第i个城市的最低消费最低的总消费是多少?题解:费用 = max (ci ,aj - ai)= ci +max(0,aj-ai-ci)因为所有城市都要经过,所以ci是固定消费,我们现在要做的就是最小化max(0,aj-ai-ci)的总和我们注意ai,ci一定是大于0的

2021-04-04 20:18:48 48

原创 比赛合集

比赛合集牛客2021年度训练联盟热身训练赛第一场cfCodeforces Round #694 Div. 2Codeforces Round #696 (Div. 2)Codeforces Round #695 (Div. 2)XCPC区域赛省赛多校

2021-04-04 11:18:55 21

原创 F Christmas Game

F Christmas Game题意:给一棵n个节点树,每个点上都有权值,两个人轮流操作,每次可以将一个点的权值给他的父亲节点,(父亲节点与当前点的深度差必须为k),当有一方不能操作时即为输掉。问依次以n个点为根的情况下,先手能否赢题解:博弈论我第一反应是尼姆博弈我们把节点相对于根的深度分为奇数和偶数我们这里说的步数是指一个节点上的所能走的步数,因为每次走的长度是固定的(必须向上走深度为k)如果把一些权值从一个偶数步移动到奇数步,那么对面可以重复一样的行为,这样输的一定是先手(因为后手可以模

2021-04-04 10:53:39 10

原创 D. Bananas in a Microwave

D. Bananas in a Microwave题意:u1s1,题意真难懂有n个时间,每个时间给你两个操作,第一个是k=k+x,第二个是k=k∗x,且可以执行[0,y]次,k 初始状态为0,现在让你依次输出从1到m,到达每个数最少的操作次数题解:满脑子都是暴力。。但是暴力肯定不行有点背包问题的感觉?但是第二种操作怎么都不能有效实现看来终究还是暴力最直接暴力是O(n*m^2),遍历[1,n],尝试[0,y]次相应操作,y的范围是[0,m]比如原本能到的数是[3,11],现在x =4,y

2021-03-31 12:14:07 125 3

原创 L3-2 至多删三个字符

L3-2 至多删三个字符题意:给定一个全部由小写英文字母组成的字符串,允许你至多删掉其中 3 个字符,结果可能有多少种不同的字符串?题解:最不擅长dp我们设dp[i][j]表示前i里面删除j个有多少种方法第i个删除或者不删除有两种情况dp[i][j] = dp[i-1][j] + dp[i-1][j-1]但是会存在重复的情况,我们还需要去重,什么情况会出现重复?很明显…X…X这种情况,(…代表中间的几个字符,X代表相同字符)会重复,因为如果把省略号部分删去,再删除前X或者X(只保留一个X)

2021-03-31 11:22:02 14

原创 C. Planar Reflections

C. Planar Reflections题意:给定一个可以穿越墙体的微观粒子(寿命为 k),但是每穿越一次墙体会产生一个反向寿命为 k−1 的粒子。(如果粒子寿命为1则不再产生反向粒子,即不存在寿命小于1的粒子)问最后有多少粒子飞出结合数据 2 3 和下图理解看题解:其实就是推导公式:n为还要穿多少个墙,k为当前能量,cur为方向(1位向右)最后退出公式:dfs(int n,int k,int cur) = dfs(n-1,k,cur)+dfs(x-n,k-1,cur^1)超时!我

2021-03-30 19:17:31 90

原创 B. Box Fitting

B. Box Fitting题意:现在有n个长方形,宽均为1,现在有一个底为m的容器,问将长方形放入其中,所用容器的最小宽度是多少(长方形必须长朝下放置详细如图)题解:比赛时脑子抽了。。。我想的是,先排序,对于第一层依次放长的,如果长的放不下就依次放短的,我想的是让短的取填空隙,但是wa了我也不知道为啥今天补题,感觉每次只需要找仅小于当前长度的长方形即可这样放就是尽可能放大的,实在放不了大的再开新一层代码:#include<bits/stdc++.h>typedef lo

2021-03-30 18:19:28 136

原创 New Maths

New Maths题意:定义一个不进位的乘法运算 ⊗,先给出一个n,判断是否存在a,满足a ⊗ a = nn的长度最多是25题解:17 * 17正常等于28917 ⊗ 17 =149如果a的长度为x,那么最后得到的n的长度len是2x-1倒着推就是:(len+1)>>1n的位数小于等于25,所以a的位数一定小于等于13,直接暴力枚举,然后判断合理性判断依据:逐位用 O(n) 求卷积某一位的方法求出 a ⊗ a 每一位的结果,并与 n 对应位进行比较。可以发现每一位的值,

2021-03-29 12:29:14 12

原创 Weird Flecks, But OK

Weird Flecks, But OK题意:给出三维坐标中的 n 个点,求一个圆柱的最小直径,该圆柱垂直于坐标平面且能覆盖住所有点题解:本人最不擅长计算几何,比赛时没做出来。。。其实就是将n个点投影到三个坐标平面,在三个坐标面上分别做期望时间复杂度为O(n)的最下圆覆盖算法,最后取最小值将三维转为二维问题代码:#include<iostream>#include<cstdio>#include<cstring>#include<algorit

2021-03-29 11:39:09 12

原创 P1742 最小圆覆盖

P1742 最小圆覆盖题意:给出N个点,让你画一个最小的包含所有点的圆。题解:先说结论:最优解的圆一定是在以某两个点连线为直径的圆 或者 某三个点组成的三角形的外接圆初始化将某个圆心定为第一个点,R=0枚举第一个点i,如果点i不在当前圆内,设它为圆心,进入2再枚举第二个点j,若点j不在当前圆内,设当前圆内为以i,j为直径的圆,进入3枚举第三个点k,若点k不在当前圆内,设当前圆为i,j,k的外界圆这样三个for循环,复杂度为O(n^3),但是点集随机打乱后期望复杂度是O(n)如何三点

2021-03-29 10:46:59 4

原创 Early Orders

题意:给你一个整数列表 x1,x2,,… ,xn 和一个数字 k,它保证从1到 k 的每个 i 至少出现在列表中一次。现在求一个字典序最小的子序列,子序列有1到k组成题解:单调栈求解我们先预处理,求出每种数最后出现的位置,用数组suf存比如:这10个数:54321411155suf[1] = 8suf[2] = 4suf[3] = 3suf[4] = 6suf[5] = 10我们设一个栈,每次读入新的数据x(第i位)时与栈顶元素top比较,如果栈顶元素大于x,且suf[top]&gt

2021-03-28 18:29:54 9

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除