- 博客(421)
- 资源 (5)
- 收藏
- 关注
原创 Codeforces Round #690 (Div. 3)——解题报告
比赛链接:https://codeforces.com/contest/1462A题——Favorite Sequence根据题意直接模拟即可。#include <bits/stdc++.h>#define PI atan(1.0)*4#define rp(i,s,t) for (register int i = (s); i <= (t); i++)#define RP(i,t,s) for (register int i = (t); i >= (s);.
2021-01-13 22:11:36 139
原创 牛客巅峰训练赛S2钻石&王者——补题
第五场求一个树的非严格第二直径,我们首先可以直接求出树的直径,并记录下直径的两个端点,然后我们考虑分别以这两个端点进行bfs,记录最大深度以及最大深度的个数,判断最大深度个数是否大于等于二,如果满足条件,答案就是最大深度,否则答案就是最大深度-1.#define rp(i,s,t) for (int i = (s); i <= (t); i++)int vis[100007];int dis[100007];vector<int> G[100007]; int a.
2021-01-13 12:14:27 156
原创 2020河南省赛F题——二分+2-SAT
题目链接http://acm.zzuli.edu.cn/problem.php?cid=1566&pid=5题解首先不难想到可以二分枚举答案,然后再判断枚举的答案是否合法,因此关键就在于这个怎么能够快速地判断是否合法了。根据题意我们可以发现一个景点最多有两种状态,要么不是商业区(值为a[i],用i来表示),要么是商业区(值为b[i],用i+n表示)。因此可以联想到图论中经典的2-SAT问题,之后就只需要考虑怎么建图了。我们可以直接枚举每条边的两个点的所有状态,即x不是..
2021-01-08 21:16:52 165
原创 哈理工新生赛S题Calculate Sum——莫比乌斯反演基础题
题目链接:https://ac.nowcoder.com/acm/contest/9536/S题解:一道反演的比较基础的题,进行一下比较简单的转换就行了。不过需要对反演的知识有一定的了解,不懂的可以参考:我也不知道什么是"莫比乌斯反演"和"杜教筛"推导过程:代码实现:#include <bits/stdc++.h>#define PI atan(1.0)*4#define rp(i,s,t) for (int i = (s); i <= (t);...
2021-01-01 12:55:21 460 1
原创 Educational Codeforces Round 98B——Toy Blocks
题目链接https://codeforces.com/contest/1452/problem/B题意给你n个盒子,每个盒子有ai个木块,现在可以将一些额外的木块放进n个盒子里面,求最小的额外木块数使得下面这个条件成立。任意选择一个盒子,并从盒子取出所有木块,并且把木块分配到其他n-1个盒子中,使得这n-1个盒子的木块个数相等。题解设cnt为最小的额外木块数,sum为所有盒子的木块数根据题意(即最终n-1个盒子的木块相等)可得(sum+cnt)%(n-1)==0。而且还.
2020-12-22 23:19:30 107
原创 操作系统课设——编程演示三种管理方式的地址换算过程
核心内容编程演示三种管理方式的地址换算过程分页方式的地址换算 分段方式的地址换算 段页式的地址换算概括程序主要有三个功能,分别是 分页方式的地址换算,分段方式的地址换算,段页式的地址换算。Switch 函数包含 3 个 case 语句,分别用 page , Segment , SegPageTable 分别完成分页方式的地址换算,分段方式的地址换算,段页式的地址换算。数据结构struct segtable{//定义段表 int segF[256];//段首...
2020-12-11 00:18:35 2329
原创 观影网站影评信息管理系统
设计完成一个观影网站影评管理程序。使用Java语言,与存储在Hsqldb数据库中的数据进行交互,恰当地使用集合对数据相应的操作,通过控制台或图形界面拟实现以下功能:用户信息的录入、修改、删除、查询 电影信息的录入、修改、删除、查询 按电影名字或用户名字查询影评信息 4.用户对某一电影进行影评操作类图运行结果图代码,课程报告和任务书在上传...
2020-12-11 00:03:34 1806 3
原创 Codeforces Round#688——解题报告
链接https://codeforces.com/contest/1453A——Cancel the Trains题意给你n个从y轴出发的火车(从左到右)和m个从x轴出发的火车(从上到下),火车的速度相同,问你有多少个火车会相撞。题解转换后的题意就是问你n个火车里面和m个火车里面有多少个位置相同的点。代码#include <bits/stdc++.h>#define PI atan(1.0)*4#define rp(i,s,t) for (regist.
2020-12-08 16:53:10 210
原创 Codeforces Round#687(div2)——解题报告
比赛链接:https://codeforces.com/contest/1457A——Prison Break题意:给你一个n*m的矩阵,求这个矩阵
2020-12-04 15:42:50 149
原创 牛客小白月赛29 DIJ题——解题报告
题目链接:https://ac.nowcoder.com/acm/contest/8564I题修改题解:比较巧妙的转换成图论的好题,思路感觉不太好像,不过感觉是个经典题(雾)。因为初始的序列是随机,不妨假设序列的每一位的数都不一样,即最复杂的情况。然后我们考虑这个操作的意义,第i次操作其实就是把的值变成的值,我们可以建一个虚点a[n+1]=0。这样操作就变成了在和建一条权值为的边,具体的含义上面解释过了。这样最终的答案不就是求我们建的图的最小生成树的权...
2020-11-20 17:16:33 180
原创 Codeforces Round684(Div 2)——解题报告
题目链接https://codeforces.com/contest/1440A题:Buy the String题意:给你一个长度为n的01串,你可以执行任意次翻转操作(即把第i位翻转),每次操作消耗的代价为h,定义0的代价为c0,1的代价为c1,对于一个串的代价就是0和1的代价和,求最小代价和。题解:我们考虑每一位,如果当前位为0,考虑翻转和不翻转的情况,那么最小的代价就是min(c0,c1+h),同理可以得出当前位为1的最小代价为min(c1,c0+h).最终的代价和就是..
2020-11-18 22:32:17 295
原创 Codeforces Round #683——解题报告
题目链接:https://codeforces.com/contest/1447A题——Add Candies题意: 给你一个数n,表示这个排列为1-n(即第i个数的值为i),然后我们可以执行无限次一种特殊操作:对第i个数的第j次操作可以使除第i个数之外的其他 n 个数的值加 j 。让你输出一个方案使得所有位置的数的值相等。题解: 样例给出的方案有点误导,因此我们需要自己构造一个合法的方案,观察操作不难发现,可以想办法尽可能的把每个位置的数都凑成n*(n...
2020-11-16 19:47:42 260
原创 2020CCPC长春F题——dsu on tree+二进制拆分
题目链接https://codeforces.com/gym/102832/problem/F题意:给你一颗n个节点的树,让你求出的值。题解:对于这种子树查询的问题,常用的方法也就那几种,要么就是树链剖分后用数据结构维护,要么就是dsu on tree。不难发现这个题用dsu on tree比较好写,即考虑以每个节点为根(即lca)的子树,然后枚举不同儿子之间对答案的贡献。dsu on tree常见的套路是处理子树内的查询,而对于这种子树间的查询就需要对dsu on.
2020-11-13 10:03:00 381
原创 2020杭电多校9-Game——无旋treap
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6873前置知识:无旋treap和线段树无旋treap推荐博客:https://www.luogu.com.cn/blog/85514/fhq-treap-xue-xi-bi-ji线段树推荐博客:https://www.cnblogs.com/TheRoadToTheGold/p/6254255.html题目大意:一共有n个位置,每个位置上都有一些方块。每次有两种操作:1 x ..
2020-10-18 00:45:32 159
原创 杭电多校第六场E题——区间dp
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6831题意:给你一个无限长的字符串"114514191911451419191145141919...",然后对于这个字符串的任意一个前缀,我们可以在中间插入(),*和+,让你求出能够凑出n的最小的字符串的长度。题解:定义状态dp[l][r][val]表示[l,r]区间能否凑出val状态转移方程:dp[l][r][p+k]=dp[l][m][p]&dp[m+1][r][k];dp.
2020-09-19 13:08:08 141
原创 杭电多校第三场 Triangle Collision——思维+二分
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6798题意:给你一个等边三角形的坐标,以及等边三角形内运动的球的坐标和速度,当这个球在三角形碰撞到一条边反射时,反射角等于入射角,且速度不会变,即没有碰撞损失,现在让你求出第k次碰撞的时间。题解:这个题的难点在于怎么把题意转换成比较好求的方法。官方题解给的方法是把这个等边三角形不断对称,直至铺完整个平面。这样就不用考虑反射了。题意就转换成了小球的运动轨迹会穿过多少轨迹线,不难发现只有与x轴平.
2020-09-19 12:39:59 208
原创 杭电多校第三场X Number——数位dp+指数型母函数
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6796题目大意:给你一个区间[l,r],让你求出这个区间内满足数位中众数为d的数的个数。题解:一道披着数位dp皮的组合计数题。如果用常规数位dp的思路去维护,不难发现状态很难维护,因此我们要考虑换一种思路。考虑数位dp枚举当前位时,当前位不是数位的上限的情况。eg:假设数位上限为123456789,当前枚举到第七位,之前的数位为123455(即123455XXX),即前面数位有1个1.
2020-09-19 00:23:43 209 1
原创 牛客第六场H题——数位dp
题目链接:https://ac.nowcoder.com/acm/contest/5671/H题意:给你一个区间[l,r],求区间内满足S(A)>S(B)且A<B的对数,S表示一个数的数位和。题解:定义状态dp[i][j][f1][f2][f]表示当前枚举到第pos位,之前的数位差为j,f1表示A是否枚举到数位上限,f2表示B是否枚举到数位上限,f表示前面是否已经满足S(A)>S(B)。然后就是数位dp的常规写法了。代码实现:#pragma GCC opti.
2020-09-18 23:24:06 184
原创 2017浙江省赛F - Heap Partition ——贪心+stl+二分
题目链接https://zoj.pintia.cn/problem-sets/91827364500/problems/91827370090题意:给你一个长度为n的序列,然后让你求出把这个序列分成最少个数的"堆子序列",请输出"堆子序列"的个数和方案。堆子序列:一棵n个节点的二叉树,对于一个非根节点,节点的值小于等于儿子节点的值,且下标小于儿子节点的下标。题解:不难想到解法就是从前往后枚举,并维护一个存储不同树对应节点的结构,然后贪心的把当前数插入到最大的小于当前值的节点的下.
2020-09-14 20:58:02 278
原创 2017浙江省赛E-Seven Segment Display——简单数位dp
题目链接:https://zoj.pintia.cn/problem-sets/91827364500/problems/91827370089题目大意:给你一个16进制数s和偏移量n(注意超出的话就从00000000重新开始),0-F分别对应一种权值,求s到s往后加n位的所有数的每一位的权值和,包含前导0.题解:首先要清楚利用数位dp我们可以直接求出L到R的所有数的每一位的权值和或者求出L到R中所有数的每一位的出现次数,然后乘以对应权值相加就是答案。但是这里有一种情况需要考虑,..
2020-09-14 20:29:12 351
原创 2020牛客多校第一场反思+总结+题解(AFHIJ)
题目链接https://ac.nowcoder.com/acm/contest/5666#question题解A题B-Suffix Array题意:给你一个字符串s,同时定义B函数为:其中,如果没有符合的j,那么。然后让你求出s字符串的所有后缀串按照B函数求出的字符串t排序后的顺序。这个题有两种做法,一种是直接套用官方题解给出的结论直接求后缀数组就行,一种是按照正常思路来解,但是相对而言还算好想(相比官方题解)。先讲第二种解法,也是比赛时还能想到的。首先我们如果能想到一种..
2020-07-18 01:28:54 3115
原创 2020牛客多校第二场总结+反思+题解(BCDFJ)
题目链接:2020牛客暑期多校训练营(第二场)题解B题Boundary题意给你n个点,考虑这选一个经过原点的圆,并且这个圆经过这n个点的个数最多,求这个最多的点数。题解这个题的做法挺多的,可以枚举圆心或者半径,也可以枚举圆周角(题解的做法)。时间复杂度:O(n^2logn)首先我们需要知道一个定理:三个点可以确定一个圆。做法一:枚举圆心或者半径现在我们已知一个原点(0,0),然后我们可以枚举两个点,然后求出三个点形成的圆的圆心,并记录圆心的最大出现次数,.
2020-07-15 17:54:37 419 1
原创 Rinne Love Xor——异或性质
题目链接:https://ac.nowcoder.com/acm/contest/5505/B题解:首先我们要分析一下这个公式
2020-04-30 15:30:53 155
原创 小H和游戏——dfs序+树状数组 | 思维
题目链接:https://ac.nowcoder.com/acm/contest/5203/D题目大意:给你一棵n个节点的树,然后有q次轰炸,每次轰炸可以波及到与当前节点距离小于等于2的节点,并输出该次轰炸后当前节点的被轰炸次数。题解:解法一:树状数组(线段树)+dfs序这个题先讲相对而言时间复杂度比较高的解法,但是比较好想,容易理解。首先我们可以求出每个点的儿子编号...
2020-04-28 01:22:09 225
原创 Music Problem——01背包优化
题目链接:https://ac.nowcoder.com/acm/contest/5203/B一道很不错的题目,综合了多个知识点。题意:给你n个数,判断能否在这n个数中选一些数组成3600的倍数。先给这个题的一般形式。给你n个数,判断能否在这n个数中选一些数组成m的倍数。(1 ≤ n ≤ 1e6,2 ≤ m ≤ 1e3)然后我们可以发现一个01背包的解法(时间复杂...
2020-04-27 22:55:57 235
原创 hdu4352——数位dp+O(nlogn)求LIS+状压
题目链接:https://vjudge.net/problem/HDU-4352题目大意:给你一个区间[l,r],让你求这个区间内符合条件的数的个数。条件:这个数的数位上的LIS的长度等于k。题解:一道很好的题目,需要知道怎么O(nlogn)求LIS,这样在才能进行状态转移。如果不懂怎么O(nlogn)求LIS,可以看下我的的博客:https://blog.csdn...
2020-03-25 00:34:00 138
原创 dp——O(nlogn)求LIS
闲话众所周知,求LIS最简单的方法是O(n^2)的,但是有的题目会卡这个做法,这时我们就需要考虑优化了。算法描述我们定义一个数组d[i]为表示长度为i的上升子序列的最小末尾元素。然后我们每次往里面插入数字的时候考虑是否大于最后一个元素,如果大于接直接插入,否则的话找到前面比他大的第一个元素,并且把它替换掉,最后的数组大小就是LIS的长度。举例阐述下面模拟一组数据:2,5,...
2020-03-24 23:33:33 287
原创 cf55D——数位dp+离散化+构造
题目链接:https://vjudge.net/problem/CodeForces-55D题目大意:计算给定范围中有多少个漂亮数。一个正整数是漂亮数,当且仅当它能够被自身的各非零数字整除。题解:首先要知道一个结论:一个数如果能被一些数整除,那么一定会被这些数的最小公倍数整除。因此我们可以求出lcm(1,2,3....9)=2520.对于任何一个数 num,...
2020-03-24 23:03:18 183
原创 hdu4507——数位dp(计数求和)
题目链接:https://vjudge.net/problem/HDU-4507题目大意:如果一个整数符合下面3个条件之一,那么我们就说这个整数和7有关—— 1、整数中某一位是7; 2、整数的每一位加起来的和是7的整数倍; 3、这个整数是7的整数倍;求一定区间内与7无关的数的平方和。题解:这个题约束条件很常见,但是要求的不是数的个数,而是平方和就有点恶心了。...
2020-03-23 22:38:11 388
原创 SPOJBALNUM——数位dp+状压
题目链接:https://vjudge.net/problem/SPOJ-BALNUM题目大意:求[l,r]区间的平衡数的个数。平衡数:所有数位中每一个奇数出现偶数次,每一个偶数出现奇数次。题解:定义flag为0表示未出现,1表示出现奇数次,2表示出现偶数次。所以我们可以把0-9的所有数状压成一个10位的三进制数state,这个状态记录每个数的出现情况。定义状态为...
2020-03-23 22:19:05 140
原创 luoguP3413——高精度+数位dp
题目链接:https://www.luogu.com.cn/problem/P3413题目大意:求[l,r]中满足"存在长度至少为2的回文子串"的数的个数。题解:存在长度至少为2的回文子串意味着我们只需要考虑是否存在'aa'或者'aba'这种形式的子串就行了。因此我们可以定义状态为dp[pos][pre1][pre2][flag]表示枚举到pos位,pre1表示上一个数...
2020-03-23 21:59:45 138
原创 luoguP4127——数位dp+枚举
题目链接:https://www.luogu.com.cn/problem/P4127题目大意:给出两个数a,b,求出[a,b]中各位数字之和能整除原数的数的个数。题解:各位数字之和最大为9*18=162,因此我们可以枚举数字之和。定义状态为dp[pos][sum1][sum2]表示枚举到pos位,前面数位的和sum1,以及前面数位的组成的数对mod取余的结果。最后...
2020-03-23 21:42:44 121
原创 hdu3709——数位dp+枚举
题目链接:https://vjudge.net/problem/HDU-3709题目大意:求区间[l,r]里面满足平衡数的数的个数平衡数定义:可以通过找一个平衡数位,该数位左边的数位乘以偏移距离的和等于右边的数位乘以偏移距离的和。e.g:4139,平衡数位为3,4*2+1=9,因此该数是平衡数。题解:定义状态dp[pos][k][sum]表示枚举到pos位置,当前平衡数位...
2020-03-23 20:41:48 153
原创 hdu4734——数位dp(减去的艺术)
题目链接:https://vjudge.net/problem/HDU-4734题目大意:求区间[l,r]内满足数x的F(x)<=F(a)的数的个数。对于一个n位的数(AnAn-1An-2....A1),F(x)=An*2^(n-1)+An-1*2^(n-2)+...+A1*1.题解:首先我们肯定要维护一个状态sum表示前pos位数的F(x)值,最后判断一下是否大于F(...
2020-03-23 17:48:29 216
原创 poj3252——数位dp(减去的艺术)
题目链接:https://vjudge.net/problem/POJ-3252题目大意:求满足区间[l,r]内满足二进制0的个数大于1的个数的数的个数。题解:设状态dp[pos][sum]表示枚举到第pos个位置,前面的所有数位的数的二进制0的个数减去1的个数。因此sum可能小于0,且最小为-32,因此我们可以离散化一下,把实际的-32看成0,实际的0看成32,这样只需要最...
2020-03-23 16:34:50 154
原创 2019ECfinal H - King ——随机算法|推结论
题目链接:http://codeforces.com/gym/102471/problem/H题目大意:给你一个长度为n的序列,要你求这个序列中的最长国王子序列长度,如果长度小于n/2,输出-1,否则输出长度。国王序列定义:对于一个序列a1,a2,a3,.....,an。当且仅当有一个整数q(1<=q<p)使得,且 q*ai-1= ai (mod p)。题解:...
2020-03-17 15:18:22 870
原创 2019EC E - Flow——贪心+规律
题目链接:http://codeforces.com/gym/102471/problem/E题目大意:给你n个点的一个简单图(即保证所有从1到n的路径上的点数都是相等的,且这些路径没有交点)然后有一种操作,给一条边上的容量减一,另一条边的容量加一,问最少执行多少次操作使得从1到n的最大流最大。题解:这个题的关键在于读题,需要注意到这个图的特点。首先我们不难想到图的最...
2020-03-17 13:30:59 240
原创 2019湘潭邀请赛C - Chika and Friendly Pairs——莫队+树状数组+离散化
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6534题目大意: 给你一个长度为n的序列,有m次查询操作,每次查询[L,R]区间的友好对的个数。友好对的定义:满足i<j,且|ai-aj|<=K。题解:首先我们把题意转换一下,相当于枚举[L,R]区间内每个值a[i],且[L,R]区间内值在[ai-k,ai+k]的数的个数。...
2020-03-16 23:34:46 255
原创 dp训练计划——poj3666(离散化+滚动数组优化)
题目链接:https://vjudge.net/problem/POJ-3666#author=0258题目大意:求最小的代价使得序列变成不减或者不增序列。题解:状态:dp[i][j]表示前i个序列,且最大值为j的代价。状态转移方程:dp[i][j]=abs(j-w[i])+min(dp[i-1][k])(k<=j)注意我们求min(dp[i-1][k...
2020-03-13 11:43:01 306
JAVA课设.zip
2020-12-11
食堂窗口信息管理系统.7z
2020-05-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人