自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 muban

【代码】muban。

2024-01-05 15:44:28 442

原创 2021.1.18 2015长春区域赛补题

J题意给你一个数组 从中任取三个互不相等的数 求max((a+b)^c)思路这题按数据来说暴力应该是超时的,但是暴力过了。。 其实这题就是求异或对的最大值,是可以用01树来做的,和我们n2 暴力枚举,然后c 这个数字典树存,然后枚举和的每一位(二进制)的数从树一直往下走,有不和该位不同就走 不有就走相同的同时记录值,然后再枚举所有和求最大值就行了,这里需要注意 因为 三个数互不相同 所以 再异或之前我们需要把和的两个数给删了 ,具体通过数组来实现 数组来记录每个节点的个数,删除的时候就让构成这

2021-01-19 15:17:23 134

原创 2021 1.8div2 695

A题意有n 个灯 一开始每个灯刚开始都是数字0,每过一秒每个灯的数字都会加1,9加1 是0,可以在某一时刻让某个灯停止,停止后所有的灯都会随即停止 停止的规则是 如果这个灯的坐标是i 那么坐标为j的灯将会在i停止的j-i的绝对值秒后停止 比如 第一个灯在亮的9的时候停止了,那么第二个灯就会在一秒后停止这时显示0,第3个灯在第二秒停止 显示1.。。然后问给你n个灯让哪个灯在哪个时刻停才能得到所有灯显示的数字组成的数字最大思路肯定是让第1个数字是9这样才能保证最大 可以 让第一个灯为9的时候断掉第

2021-01-11 19:00:16 122

原创 2020-08-05

8.1B题意给你两个数m,n然后你需要构造出 最小的k 组 既能分成m 个同时也能分成n个m然后按最大的字典序分思路假设是n 乘m 的图,然后 n小m大涂满的话 我们可以先涂n*n涂满 剩下的面积为 n *(m-n)又可以看成一个这种图 然后用同样的办法 还是先把小边乘小边的面积涂完就行了依次这样就能涂完了代码#include <iostream>#include <algorithm>#include <vector>using name

2020-08-05 15:19:06 162

原创 cf div2

7.30A题意定义这一种数 为nearly prime 就是可以分成两个质数相乘如6=23 14=27等然后给你一个数n 问时候可以把n 分成四个不想等的数其中有3个是nearly prime思路一般分数的都是思维题 有几个数肯定是固定的,这题就是 最小的三个nearly 为 6 10 14 如果小于等于他们的和很定不行如果大于就是可以的,然后 要保证都不相同如果n 减去他们的和 和他们其中的一个相等 那么就可以让14+1 为15 也是这种数,然后 第四个数 减1 可能变变成 6 9 13

2020-07-31 14:23:28 450

原创 并查ji

大意看收藏的博客吧,就是每个人都会有一个帮派。。。。A题意给你n个人属于两个帮派 不知道每个人属于哪个,然后d xy 就是xy 不在一个帮派 A XY问xy是否在一个帮派思路只有两个帮派是关键,d x,y 就把x 和 y+n 绑定在一个帮派 x+n 和y 绑定在一个帮派 如果再来个d cy 那么 c 和y +n 是一个帮派 那么 x 和c 就是一个了代码#include <iostream>#include <cstdio>using namespa.

2020-07-24 12:42:24 1767

原创 20207.9A

A题意给一个小写和大写交替的字符串 然后你从头往后走,走到小写字母相当于你捡到了一把钥匙,大写字母是门,相应的钥匙才能开对应的门,开不了就得借钥匙,问借的个数思路没遇到一个大写字母就看 有没有与之对应的钥匙,有的话对应的钥匙减一如果没有就只能借,那么总数加1代码#include <iostream>#include <string>using namespace std;int a[100010];int main(){ int n; cin>

2020-07-09 21:39:21 122

原创 一些OJ刷的题的题解

目录搜索oj 3278 bfs搜索oj 3278 bfs题意给你两个数 n ,m, n 可以加1 减1 也可以乘 2 求n 变成m的最小步数思路bfs 因为可以把这个数分别进行这三种操作然后看这三个有没有符合的没有符合的再对每个数继续进行这三种操作如图代码#include <iostream>#include <queue>using namespace std;const int N=200010;int n,k;struct node{

2020-07-05 10:44:37 3103

原创 2020627

A题意给一个数拆成三个数 然后这三个数都不能是三的倍数思路首先得清楚 能被三整除的数是能被每一位的数加起来是三倍数,然后就可以做了,分两种情况一种是 他能被三整除 那么 就可以 先拆成两个 1 那这个数 就减了2 了 那么剩下的数 就绝对不是被三整除的了 因为本来所有位的数加起来能整除3 减了2 就不行了,还有一种情况就是本来不是 那么 就拆成1 和 2 原数减了 3 依然不是代码#include <iostream>using namespace std;int

2020-06-27 21:16:41 208

原创 6.24山师补题

B线性基线性基的定义 :大概就是 给你个集合s 然后他的线性基 就是 满足以下三点是s 的子集,然后s 的所有数 都可用线性基的异或和表示 线性基是线性无关的 即线性基里面的数不能用线性基其他的数表示求线性基的模板void insert(LL v) { for(int i=52;i>=0;i--) { if(1ll<<i&v) { if(p[i]) v^=p[i]; else { p[i]=v;

2020-06-27 15:25:46 114

原创 2020530

A题意有n堆某种东西,没堆东西的个数为ai,每一天都可以移动一堆的一个物品把它放到相邻的堆中去,也可以选择不操作,问给你d 天 最多能把 第一堆的物品数量变为多少思路通过模拟可以发现,把第二堆的物品移动到第一堆只需要一天,而将第三堆移动到第一堆则需要两天(第一天先移动到2第二天移动到1)所以以此类推 第i堆移动的第一堆需要 i-1天,所以我们要想最多 就尽量先运所需天数少的,运完了再运后面的就行了代码#include <iostream>#include <algor

2020-05-30 21:13:09 269

原创 20200526

f题意有两个队伍比赛,给你n 次进行中的比分,让你求出比分相等的最大可能次数,最开始为0:0并且算一次思路就多写几组就能发现规律,比如 2:1到 3:4 的过程 可以发现 其中 可以有 2:2和3:3两次分数相等,规律就是两次 之间 相等的分数的值,一定会大于等于上次比分的最大值,小于等于下次比分的最小值,所以我们求出来相等的分数的上限和下限 然后看这个区间是否合理,如果合理 答案就加上 上限减下限+1(因为是求个数,所以加1)这里要考虑去重问题,因为过程中有给的比分相等时,他会先当一次下一次

2020-05-28 08:24:19 163

原创 B题

B题意先给你两个字符串,这两个字符串全部是由26个小写字母的不同排序组成的,然后再给你一个字符串,做如下操作,如果是数字直接输出,如果是字母,找到他再1中的位置,然后输出相应位置2中的字母,大写就输大写,小写就输小写思路把题目概括成题意这样就很好做了,就模拟就完事了代码#include <iostream> #include <cstring>using namespace std;char s1[30],s2[30];char s[1010];i

2020-05-08 21:31:35 192

原创 202046

A题意将屏幕分成竖着的四部分,然后每一秒 会在四个屏幕里随机出一个方块,需要将其消灭并且需要消耗能量,给出 消除每部分方块所需的能量,和每秒方块出现的情况求总能量思路模拟就行代码#include <iostream>#include <string>using namespace std;int main(){ int a[10]; fo...

2020-04-06 20:47:42 207

原创 2020328A题

题意给n个点 然后判断任意删除一给点后剩下的点是否在y 轴一次思路分别统计y轴左侧右侧的数量如果有一侧的数量是0或1 就说明可以代码#include<iostream>using namespace std;int a[100010][2];int main(){ int n; cin>>n; for(int i=1;i<=n;i++)...

2020-03-28 20:02:48 268

原创 数据结构

目录栈编辑器栈编辑器题意给你n个指令,I x表示从光标处插入一个数x,D是删除光标前的一个数,L是光标左移,R是光标右移,Q k是询问,要求返回 光标前 的所有数里 前k 个前缀和的 最大值比如思路用两个栈来维护,这两个栈对顶着放,光标前的为左栈,光标后的为右栈(大概现这样理解,其实删除操作会破坏这种规定如果是用数组当成栈)这里用两个数组来充当堆栈,同样处理为了处理前k 个前...

2020-03-17 13:37:30 606

原创 DP

目录小结题目线性dp杨老是的拍照计划小结用集合表示一类方案,大多都是数组,或表示一种状态,首先要弄清楚他表示的含义,然后他的属性(cout,max,min),然后就是求状态计算(转移方程),一般根据最后不同点不同的取值对集合划分。。还有很多。。题目线性dp杨老是的拍照计划题意给你k为排数,第一排其实是最后一排,然后给你每排的人数,每个人按身高编号为1到n,要求 每一排从左到右身...

2020-03-04 14:44:10 188

原创 笔记

对sort 函数制定排序规则例题给出n个区间,判断时候有哪个区间是被包含在哪个区间的 ,如果有多个输出其中的一组。先输出被包含的区间(他的次叙数),再输出包含他的区间的次序输,如果没有输出的就输出-1 -1思路先按左边界从小到大排序,左边界相同的就再按右边界从大到小排序,如果再相同就按序号从小到大排序,可以给sort函数制定一种排序规则,这题我觉得我得背下来,既有结构体还有对sort...

2020-02-21 11:06:36 177

原创 牛客2.13题解

目录A-模板E-Enjoy the gameI -I题是个签到题A-模板题意给两字符串,每次可以执行以下三种操作,1是将一个字母变成一个字母,另一个就是从后面加一个字母,再一个就是从后面删除一个字母问最少可以转换多少次让这两个字符串相同思路这题其实特别简单,就是先求两个字符串的长度差,这个长度差 肯定是转换次数的一部分,用23其实都一样,然后看 他们长度相同的那一段有多少不同的元素...

2020-02-21 11:06:23 87

原创 寒假山师训练赛第一场题解

目录ABA题意给一个数n,把他拆成a,b并且满足n=a+b,然后a,b互为质数也就是两个数的最大公约数为1,并且要求b-a尽可能的小,也就是a和b接近思路让a,从n/2开始,然后遍历就行,算出来b为n-a,判断a,b是否互质,如果互质输出就行,如果不互质,a就减减,继续代码#include<iostream>using namespace std;bool ...

2020-02-18 21:09:32 129

原创 凉脾的比赛题解

目录A - DRM MessagesB - Game of ThrownsA - DRM Messages题意给定一个字符串,字符串的长度一定是偶数,首先先把字符串分成长度相等的前后两部分,然后对这两个字符串做相同处理,处理规则是,先求字符串的总数和,总数和的求法就是字符串中的所有字母减A加起来 比如ABCD总数和就是0+1+2+3=6,知道了总数和,字符串中的每个字母都加上总数和,假设总...

2020-02-18 20:42:38 141

原创 牛客0211题解

目录B-括号序列B-括号序列题意给一个括号序列问是否是合法的,(){} 是合法的,{()} 也是合法的思路利用堆栈,如果是左括号就进栈,然后遇到右括号的时候,先判断堆栈是否是空的如果堆栈是空的 那肯定就不合法了,如多堆栈不是空的 ,就取栈定元素,然后删除栈顶,判断栈顶的左括号时候和现在的右括号匹配,如果匹配继续,如果不匹配退出,最后判断了 还有看堆栈时候是空的,不是空的也不行,因...

2020-02-18 19:55:53 147

原创 0208牛客题解

目录A-牛牛的DRB迷宫IA-牛牛的DRB迷宫I题意给一个m行n列的二维字符数组,全都有 B R D组成 R 只能往右走,D只能往下走,B往右走往下走都行问 走到 n,m点总共有多少种走法思路dfs 超时了,迭代 假设 a[i][j]是走向 i,j点的放法和 ,那么 i-1,j 往下走就到了ij 点 那么如果这点能往下走 就能把通向i-1,j的步数加到 i,j里 往右...

2020-02-18 19:55:22 128

原创 牛客比赛0206题解

目录A-做游戏B-排数字C-算概率A-做游戏题意两个人在石头剪刀布,知道两个人 出了 石头剪刀布的次数求第一个人最多能赢多少次思路就是min(石头1,剪刀2)+min(布1,石头2)+min(剪刀1,布2)代码#include<iostream>#include<algorithm>using namespace std;int main()...

2020-02-18 19:54:57 333

原创 寒假牛客比赛20200204补题

目录EHE题意设f(x)为x因子的个数,比如f(12)=6,f(6)=4,f(4)=3,f(3)=2,求给你一个n,一直这样分 分到f()=2,所需要的的步数,例如 12 就是4思路暴力,题目怎么说你怎么做代码#include<iostream> #include<cmath>using namespace std;typedef long l...

2020-02-18 19:53:05 129

原创 寒假山师训练赛2题解

目录J - 【The__Flash】的球球J - 【The__Flash】的球球题意给你一个数n,然后相当于开辟了一个数组a[n],而且全部为0,然后再给n次区间,每给一个区间这些区间的数组都加1,问最后数组的值分别都为多少思路利用数组的差分,之前做题学到了一个结论就是,对一个数组区间【r,l】都加上一个数a,假设他的差分数组为b,则只需要对差分数组b 进行b【r】+=a,b【l+...

2020-02-02 15:34:29 231

原创 训练赛4题解

目录A.Mezo playing zomaA.Mezo playing zoma题意先给一个字符串的长度,然后你输入一个字符串(全部由LR组成)然后一个东西本来从坐标原点0处,收到L往左走1,收到R往右走1,但是每个指令都有坏的可能,也就是说不知道哪个指令可以接收到,问所有的可能思路可以这么想,所有L都失效所有R都有效那么他可以最多往右走y个(y是R指令的个数),然后一个R失效就会...

2020-01-19 14:10:18 344

原创 训练赛3补题

B.线段的包含关系题意给出n个区间,判断时候有哪个区间是被包含在哪个区间的 ,如果有多个输出其中的一组。先输出被包含的区间(他的次叙数),再输出包含他的区间的次序输,如果没有输出的就输出-1 -1思路先按左边界从小到大排序,左边界相同的就再按右边界从大到小排序,如果再相同就按序号从小到大排序,可以给sort函数制定一种排序规则,这题我觉得我得背下来,既有结构体还有对sort函数制定排...

2020-01-13 12:55:44 198

原创 训练赛2题解

A构造最长递增子序题意给定一个数组,选其中连续的一段(ai,ai+1…,aj),最多只能改变段中的任意一值使这一段能变成递增的序列,在所给数组里这个序列的最大长度思路先正序遍历一下数组记录每个位置最长递增序列的长度放到一个数组里,意思就是1 2 3 4 2 4 5 6 则第一个位置的最长递增序列的长度就是1 因为就它一个,2的就是2 (12)3就是3(123)4的是4(1234)5的...

2020-01-05 11:32:24 381

空空如也

空空如也

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

TA关注的人

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