自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Codeforces Round #661 (Div. 3)D. Binary String To Subsequences(详解版)

题目链接题目大意输入一个字串s 由0和1组成,将它的拆分成“0101010”的形式,保证不能让两个相同的字符相邻 求最少要拆成多少块#include<iostream>#include<cstring>#include<queue>using namespace std;const int maxn=2e5+1;string s;int n;int a[maxn]; //用来记录每个字符所在的子串数 void sol

2020-08-09 22:58:00 107

原创 Codeforces Round #661 (Div. 3)C. Boats Competition(双指针)

题目链接题目大意给你一组人让其两两结合,要求每个两两结合的总体重要一样,问可以有几个两两结合的组合其中每个人的体重不能大于总人数n的值解题思路这里采用的是暴力遍历+双指针的思路由题可知总体重不大于2n先将体重数组排序这里对总体重的每一个可能的值都进行遍历,同时由双指针遍历体重数组,将其和总体重可能值进行比较#include<iostream>#include<algorithm>using namespace std;int n; int a[1000];

2020-08-09 22:52:05 100

原创 Codeforces Round #661 (Div. 3)B. Gifts Fixing(详解)

题目链接题意给定A和B两个序列,每次可以执行下面三个步骤中的一个1.将A序列中元素减一2.将B序列中元素减一3.同时将A和B序列中元素减一问你使得A,B序列中元素一样,最少要多少步。思路这个题目关键在于要同时对两个数组进行操作才可能满足最小步骤1.将两个数组中最小的数先找出来2.如果当前两个数组的当前元素都大于各自的最小值则执行上述的第三步3.否则根据情况执行1或2步最大值可以表示为 0x7fffffff#include<iostream>#include<cm

2020-08-09 22:30:32 115

原创 CF1399-Codeforces Round #661 (Div. 3)A Remove Smallest

题目链接题目大意给出 t 组样例,每组样例输入一个 n ,第二行输入n 个数,你可以选择其中任意两个差 < = 1的数并消除这两个比较小的数(相等则消除一个),询问最后是不是能只剩下一个元素。方法将给出的一组数据排序,如果有两个相邻的数之间只差大于1就不行**注意:**在这里排序可以用sort函数,sort函数默认是从小到大排序#include<iostream>#include<cstring> #include<algorithm>using

2020-08-09 22:12:51 75

原创 codeforces div 2 B

题目#include<iostream>using namespace std;int main(){ int t; int n; cin>>t; while(t--){ cin>>n; int m; if(n<4){ for(int i=0;i<n-1;i++){ cout<<9; } cout<<8<<endl; } else{ if(n%4==0){

2020-08-04 17:03:43 88

原创 codeforces------------Captain Flint and Crew Recruitment(近质数)

题目其实是一道比较简单的题根据题意,可以求出最小的四个近质数 6 10 14 156+10+14=30 所以如果给出的数小于30那么一定不能拆成最少由三个近质数组成的数题目还要求组成的四个数不能有重复所以要考虑第四个数是 6 或者 10、14的情况,当第四个数是6时可以将其减一,同时14加一因为15也是近质数,所以符合题目条件,同理10 14 也是这样操作,这样的话只要是大于30的数一定是可以拆成符合题目条件的四个数的#include<iostream>using namesp

2020-08-03 18:34:22 128

原创 01背包------------------Robberies(详细解析)

这里先了解一下01背包,这里有一个讲解很详细的01背包的视频:https://www.bilibili.com/video/BV14V411Z7QN?t=929这里还有一篇讲的很好的01背包的博文:https://blog.csdn.net/qq_38410730/article/details/81667885?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_para

2020-08-03 16:38:56 200

原创 快速幂与矩阵快速幂-------------------Tr A

先看快速幂:这里转载一篇大牛的快速幂文章,写的很详细,注意后面的计算利用了公式:(a^b) mod c = (a mod c)^b mod c 注意这里的mod c是对最后整体的取余https://blog.csdn.net/qq_19782019/article/details/85621386然后再看矩阵快速幂:这里还是转载一篇大牛的文章,https://blog.csdn.net/red_red_red/article/details/90208713?utm_medium=dis

2020-08-02 21:38:11 118 1

原创 区间dp-------------You Are the One

you are the one这个题还没怎么整明白,先转载一遍别人的转载出处:https://blog.csdn.net/Jianzs_426/article/details/77455491#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int INF = (1<<27);int n;int a[105];int sum[105

2020-07-17 20:25:26 80

原创 数塔+动态规划-------------免费馅饼

免费馅饼这个题是先构建一个二维数组,遍历一遍表,把每个位置馅饼的个数赋值,然后通过倒着遍历这个表,最后在初始位置的馅饼个数就是最多的馅饼个数为什么初始的位置是最大馅饼个数:如图:红色代表所能达到的点位,如果在(4,7)处有一个馅饼,根据题目的规则,是无法到达的,而且,只要馅饼处于红色区域,根据题目规则,都一定可以回溯到起始位置的这个题还要注意数组的大小必须大于11,要不然一直过不去(我也不知道为什么)#include<iostream>#include<cstring>

2020-07-17 20:04:08 90

原创 编辑距离-----String Distance and Transform Process

这里转载一篇看到的比较好的编辑距离的讲解https://blog.csdn.net/ac540101928/article/details/52786435这里再加上一点我自己的理解:这里的插入、替换的操作

2020-07-17 16:50:24 106

原创 双向搜素--------------Find a way

Find a way本题的意思是两个人分别从Y和M处出发,到达@的最短距离和是多少本题的想法是分别算出先算出第一个人到达@所有的路径的距离,然后再加上第二个人到所有@路径的距离,最后遍历存储路径的数组,选出最短距离因为此题是要记录路径,所以考虑用bfs通过建立一个链表来实现对图的广搜这里画一个图来表示用队列实现广搜这里假设所有点都可以走1.首先head和tail指向同一个空间2.tail++指向一个空的空间3.进入while循环,进入for循环4.在for循环里面进行四向搜素,通过tai

2020-07-12 18:43:56 106

原创 杭电最短路径题

#includeusing namespace std;int a = 1, b = 1, c;int hang, start,step;int visit[100][100];int vis[100][100];char map[100][100];void dfs(int m,int q) {hang = m; start = q;if (hang<1 || hang&...

2020-07-05 23:15:47 1485

原创 robot motion

#include<iostream>using namespace std;int a = 1, b = 1, c;int hang, start,step;int visit[100][100];int vis[100][100];//这个数组用来存储步数char map[100][100];void dfs(int m,int q) { hang = m; star...

2020-03-29 10:58:34 105

空空如也

空空如也

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

TA关注的人

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