自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 整除 及 同余

整除设aaa为非零整数,bbb是整数若存在一个整数q,使得b=a*q,则称之为b可以被a整除 记作a∣ba|ba∣b其中bbb为aaa的倍数,aaa为bbb的约数(因子)举例 :2∣42|42∣4,5∣105|105∣10###整除性质及证明1. 如果a∣ba|ba∣b且b∣cb|cb∣c,则a∣ca|ca∣c证明因为a∣ba|ba∣b,所以设k1=b/ak_1=b/ak1​=b/a,同理设k2=c/bk_2=c/bk2​=c/b所以b=a∗k1,c=b∗k2=a∗k1∗k2b=a*k

2022-01-17 16:11:17 275

原创 CF1438D Powerful Ksenia

目录题解异或性质模拟code总结题解异或性质1^1=0 1^0=10^1=10^0=0简单来说,同为0,异为1模拟操作:任意三个数可以变成这三个数异或和目的:使序列都相同可以尝试先模拟当n=3时 直接进行1次操作当n=4时[x,y,z,w]1次操作后设s=x ^ y ^ z[s,s,s,w]此时 任意选三个数要么是 s,s,w或s,s,s选s,s,s没有意义,s,s,w,则又等于w,w,w,此时[s,w,w,w]接下来无论怎么操作,这个序列的数都不能想等但当s=w时

2021-07-22 22:40:29 255

原创 P2671 [NOIP2015 普及组] 求和

目录题解代码题目链接题解定义一种特殊的三元组:(x,y,z),其中x,y,z都代表纸带上格子的编号,这里的三元组要求满足以下两个条件:x y z是整数,x<y<z,y-x=z-ycolorx = colorz通过第一个条件易得x,y一定是同奇同偶第二个条件无非是在限制这个三元组中x,z颜色相同(u1s1,这个玩意跟y貌似没什么关系,所以是二元组满足上述条件的三元组的分数规定为(x+z)*(number_x+number_z)题目的最终目标是计算所有三元组分数和根据分数规定

2021-07-16 08:17:33 579

原创 P1807 最长路

P1807 最长路思路题目描述设 G 为有 n 个顶点的带权有向无环图,G 中各顶点的编号为 1 到 n,请设计算法,计算图 G 中 <1,n> 间的最长路径。有向无环图 这个条件可以告诉我们可以使用 拓扑排序(当然可以用单源最短路径相关算法)细节一个变量sum,记录遍历过的所有点的总数,总数小于n继续遍历用栈来实现递归时,注意栈内有多少个数,栈内没有数就不用继续遍历因为是求1到n的各点距离,所以先要从1点开始遍历代码#include<cstdio>#in

2021-04-27 16:29:08 495

原创 P1522 [USACO2.4]牛的旅行 Cow Tours

P1522 [USACO2.4]牛的旅行 Cow Tours思路牧区可以抽象成图上每一个点牧场可以看作连通块新牧场的最大直径=两点到未连通前两个牧场的最大距离(保证满足题意:一个牧场的直径就是牧场中最远的两个牧区的最短距离)+两点之间最短距离实现邻接矩阵存图floyed计算连通块内最短距离一个数组存储点到它所在的连通块的最大距离枚举任意两点,记录添加后最大距离Code#include<cstdio>#include<cstring>#include&

2021-04-12 11:26:33 174

原创 P1908 逆序对

P1908 逆序对题目描述猫猫 TOM 和小老鼠 JERRY 最近又较量上了,但是毕竟都是成年人,他们已经不喜欢再玩那种你追我赶的游戏,现在他们喜欢玩统计。最近,TOM 老猫查阅到一个人类称之为“逆序对”的东西,这东西是这样定义的:对于给定的一段正整数序列,逆序对就是序列中 ai>aj​且 i<j 的有序对。知道这概念后,他们就比赛谁先算出给定的一段正整数序列中逆序对的数目。注意序列中可能有重复数字。思路:归并排序,每一次合并时统计有多少个逆序对(更多详细看注释,举例理解更合适#

2021-04-10 20:46:24 907

原创 P1629 邮递员送信

题目- 题目描述有一个邮递员要送东西,邮局在节点 1。他总共要送 n-1 样东西,其目的地分别是节点 2 到节点 n。由于这个城市的交通比较繁忙,因此所有的道路都是单行的,共有 m 条道路。这个邮递员每次只能带一样东西,并且运送每件物品过后必须返回邮局。求送完这 n-1样东西并且最终回到邮局最少需要的时间。输入格式第一行包括两个整数,n 和 m,表示城市的节点数量和道路数量。第二行到第 (m+1)行,每行三个整数,u,v,w表示从u 到 v有一条通过时间为 w 的道路。输出格式输出仅一行,包含

2021-04-05 13:09:44 119

原创 P1045 [NOIP2003 普及组] 麦森数

P1045 [NOIP2003 普及组] 麦森数直接纯模拟,然后想办法优化如果直接模拟计算那么位数太大会超时数学方法一次乘2^20次方做题的时候想到的 (貌似叫做压位)一般来说高精度原理,是把让数组的每一位表示数的位数,所以只要第一位大于10,就直接进位如果每一次都这样进位的话,那么时间的开销会很大那么就可以考虑当第一个数为10位数时再进位;这样会大大减少时间注意细节没有满500位需要输出前导零其实如果长度大于500,就不需要再多计算,只需要计算500以内的数(也是种减少时间的方法

2021-02-18 20:57:43 589

原创 二叉树的遍历 && [USACO3.4]美国血统 American Heritage && P1030 [NOIP2001 普及组] 求先序排列

AC code [USACO3.4]美国血统 American Heritage建树后后续遍历#include<cstdio>#include<iostream>#include<cstring>using namespace std;string ft,mt;struct node{ char l; char r; }t[300];void lt(int a,int b,int c,int d,char rt){//a----b为先序范围,c.

2021-02-18 20:45:00 278

原创 欧拉筛素数法(简单易懂适合数学好的

既然你点进来,那一定让你懂的出去概念素数(也称质数):只有1和它本身两个因数的自然数合数:合数是指在大于1的整数中除了能被1和本身整除外,还能被其他数(0除外)整除的数欧拉筛法的精髓就在于每个合数只筛了一次(所以时间复杂度接近于O(n)给出一个式子(相信您在其他地方已经看到过,或看到过类似的这个式子非常重要“最小质因数 × 最大因数(非这个合数) = 这个合数”先看一下板子#include<cstdio>#include<iostream>#include&l

2021-02-13 00:27:19 1437 2

原创 验证栈的序列 && 车厢调度

做题的过程中,我们可以一题多解,多题一解,来比较题的差异,从而收获很多车厢调度(train)时间限制: 1000 ms 内存限制: 65536 KB提交数: 8476 通过数: 4298【题目描述】有一个火车站,铁路如图所示,每辆火车从A驶入,再从B方向驶出,同时它的车厢可以重新组合。假设从A方向驶来的火车有n节(n<=1000),分别按照顺序编号为1,2,3,…,n。假定在进入车站前,每节车厢之间都不是连着的,并且它们可以自行移动到B处的铁轨上。另外假定车站C可以停

2021-02-09 16:35:22 218

原创 最大上升子序列之和

题目题目中已告诉最长上升子序列之和!=最大上升子序列之和动态规划的比较重要的点1. 拆分成子问题2. 状态转移方程(其实动态规划也可以理解为递归的逆过程)根据这道题来实操一下拆分成子问题求的是n个数的最大上升子序列之和则可以拆分成求n-1个数的最大上升子序列之和以此类推 最后是先求1个数的最大上升子序列之和//这里是做题自己想(这里有没有一点递归的味道,1为返回条件)从求当一个数时到求当两个数时的最大上升子序列之和以此类推,最后由求当n-1时到当n时的最大上升子序列之和//

2021-02-02 15:30:58 875 1

原创 奇怪的电梯

题目题目描述呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且第ii层楼(1 \le i \le N)(1≤i≤N)上有一个数字K_i(0 \le K_i \le N)Ki​ (0≤Ki​ ≤N)。电梯只有四个按钮:开,关,上,下。上下的层数等于当前楼层上的那个数字。当然,如果不能满足要求,相应的按钮就会失灵。例如:3, 3 ,1 ,2 ,53,3,1,2,5代表了K_i(K_1=3,K_2=3,…)Ki​ (K1​ =3,K2​ =3,…)

2021-02-01 19:18:37 113

原创 赦免战俘

P5741赦免战俘根据题意有四种操作而且是重复操作便可以想到递归递归语句void dfs(int a,int b,int a1,int b1,int book)//a行数开始,b行数结束,a1列数开始,b1列数结束,book操作类型 不同的四种操作 dfs(a,(a+b)/2,a1,(a1+b1)/2,1);//操作左上角 dfs(a,(a+b)/2,(a1+b1)/2+1,b1,2);//操作右上角 dfs((a+b)/2+1,b,a1,(a1+b1)/2,3);//操作左下角

2021-01-31 17:24:11 266 2

原创 [NOIP2018 提高组]铺设道路

P5019 [NOIP2018 提高组] 铺设道路题目描述春春是一名道路工程师,负责铺设一条长度为 nn 的道路。铺设道路的主要工作是填平下陷的地表。整段道路可以看作是 nn 块首尾相连的区域,一开始,第 ii 块区域下陷的深度为 d_idi​ 。春春每天可以选择一段连续区间[L,R][L,R] ,填充这段区间中的每块区域,让其下陷深度减少 11。在选择区间时,需要保证,区间内的每块区域在填充前下陷深度均不为 00 。春春希望你能帮他设计一种方案,可以在最短的时间内将整段道路的下陷深度都变为

2021-01-31 17:22:00 612

原创 淘淘摘苹果

题目这里有两点需要考虑力气够不够够不够到陶陶想知道在 s<0s<0 之前最多能摘到多少个苹果。所以得知力气优先考虑从小到大排序 然后一个一个选知道没有力气AC code#include<cstdio>#include<algorithm>#include<iostream>using namespace std;int n,s;int a,b;long long ans=0;struct node{ int xi;

2021-01-29 19:48:50 262

空空如也

空空如也

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

TA关注的人

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