自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2019牛客暑假团队赛第八场Ak(POJ3569-3669经典试题总结)

Cell Phone NetworkPOJ3659题目描述中文题意:农夫约翰决定给他的每头奶牛打个电话,希望能鼓励他们的社交互动。然而,这要求他在他的N(1≤N≤10000)牧场上设置手机信号塔(方便编号为1…N),这样他们就可以进行通信。恰好N-1对牧场是相邻的,对于任何两个牧场A和B(1≤A≤N;1≤B≤N; A≠B),有一系列相邻的牧场,使得A是第一个牧场。序列和B是最后一个。农夫...

2019-07-30 00:50:35 384

原创 c语言打印沙漏

#include<stdio.h>#include<math.h>int main(){printf(“请输入一个正整数和一个符号:”);int a;char b;scanf("%d %c",&a,&b);if(a>1000||a<1) return 0;int i=1,c=1,d=1;if(a<3) printf("%...

2018-10-20 10:49:10 12833 3

原创 LeetCode 第 228 场周赛

5676. 生成交替二进制字符串的最少操作数题意:给你一个仅由字符 ‘0’ 和 ‘1’ 组成的字符串 s 。一步操作中,你可以将任一 ‘0’ 变成 ‘1’ ,或者将 ‘1’ 变成 ‘0’ 。交替字符串 定义为:如果字符串中不存在相邻两个字符相等的情况,那么该字符串就是交替字符串。例如,字符串 “010” 是交替字符串,而字符串 “0100” 不是。返回使 s 变成 交替字符串 所需的 最少 操作数。思路最后的交替字符串不是010101就是10101010,所以构造这两个母串,和原字符串对比取最小

2021-02-15 11:02:53 253

原创 LeetCode第 227 场周赛

5672. 检查数组是否经排序和轮转得到给你一个数组 nums 。nums 的源数组中,所有元素与 nums 相同,但按非递减顺序排列。如果 nums 能够由源数组轮转若干位置(包括 0 个位置)得到,则返回 true ;否则,返回 false 。源数组中可能存在 重复项 。注意:我们称数组 A 在轮转 x 个位置后得到长度相同的数组 B ,当它们满足 A[i] == B[(i+x) % A.length] ,其中 % 为取余运算。代码:class Solution { public b

2021-02-07 13:50:00 220

原创 LeetCode第226场周赛

博主另外一个地址5654. 盒子中小球的最大数量题意:问[l,r]区间中出现ok(x)最多的是ok(x)定义为各位数字之和思路模拟即可代码class Solution {public: int ok(int x) { int ans=0; while(x) { ans+=x%10; x/=10; } return ans; } int

2021-01-31 13:23:34 145

原创 2020 Multi-University Training Contest 3

1、Parentheses Matching题意 :给定一个字符串里面包含’(’、’)’、’*’, 给定一个操作可以将’ *‘替换成’(‘或者’)’,问我们能够是否可以将原序列变成一个合法的括号序列,若可以则输出最小的长度且满足字典序最小,反之输出“No Solution!”思路:贪心的去考虑,首先一个很重要的性质,假设一个字符串是一个合法序列那么满足:假设’('为+1,‘)’为-1;(1)、任意位置前缀和大于0,(2)、最后的和等于0如何构造最小长度且字典序最小的序列:很显然如果原序

2020-07-28 22:02:34 128

原创 Codeforces Round #617 (Div. 3)

A题意:给一个长度为n的数组,可以进行任意次操作:对于所有的i,j满足i≠j使得ai=aj,使得最后的数组元素和为奇数。思路:很简单,如果n为奇数看看数组里有没有奇数,有就可以,如果n为偶数看看数组里是否同时含有奇数和偶数,有就可以代码/*Keep clam Believe youself*/#include<cstdio>#include<iostream&g...

2020-02-05 01:11:59 198

原创 蓝桥杯进阶两条直线 (二分)

题目描述传送门第一次看着道题的时候了解到了曼哈顿距离。D1:两点之间的曼哈顿距离:横坐标的差的绝对值与纵坐标的差的绝对值之和。其含义就是在只能横、竖走的情况下,从a点到b点要走多长而题意就是:D2:一个点到两条直线的曼哈顿距离:该点到两条直线上的所有点的曼哈顿距离中的最小值。问题:n个点到两条线都有对应的曼哈顿距离,那么其中肯定有最大值;如果这两条线移动,这个最大值会变化。要求就是在...

2020-01-24 16:00:48 814

原创 Codeforces Round #611 (Div. 3)

A. Minutes Before the New Year传送门题意:给一个本地时间求它离24小时制(24:00)的分钟差值思路:题目给了一个h(小时)和m(分钟数)只需计算 (24-h)*60-m即可/*Keep clam Believe youself*/#include<cstdio>#include<iostream>#include&lt...

2020-01-09 14:34:02 143

原创 Educational Codeforces Round 78 (Rated for Div. 2) B 思维题

题面题意:t组数据,每组数据有两个数为a,b;定义一种操作是:对于第i步操作我们可以选择将i加到a或者b上,问最少的操作数使这两个数相等。思路:1,我们假设两个数在第n步的时候相等了,记录这n步加到a,b上的总和为sum,那么可以推出sum一定大于等于刚开始的abs(a,b)之差,这虽然是肯定的,但思考为什么要这样做,我们要使a,b在某一步操作的时候相等,假如先假设a,b刚开始都相等,那么...

2019-12-21 01:44:53 224

原创 HDu4811&&郑轻新生资格赛最后一题思维题

题目描述:传送门题目大意:一个人拥有三种球,R、Y、B、他可以将球放在桌面上从而得分,有两种1.得分方式:1.他可以选择在一排球一段放置,那么他的这次得分是前面球不同颜色数2.他可以选择在一排球中间放置,那么他的这次得分是左右不同颜色球数之和两种方式都除了它自己本身以外,思路:你可以自己在演草纸上试一下,他会有一个最大的放法,假如三种种类的球都超过2个那么我可以按RYBRYB放...

2019-12-16 11:18:28 134

原创 Codeforces Round #498 (Div. 3)E. Military Problem

dfs and similar题目链接题解:/*Keep clam Believe youself*/#include<cstdio>#include<iostream>#include<cstring>#include<string>#include<algorithm>#include<queue>...

2019-11-05 00:28:24 135

原创 The Preliminary Contest for ICPC Asia Nanjing 2019【 B F】

B传送门题意:给定a,b;让求X=(a^( a^a) ^a…)a的b次幂,其实就是欧拉降幂的递归形式,注意b==0输出(1modm)代码#include<cstdio>#include<iostream>#include<cstring>#include<string>#include<algorithm>#incl...

2019-09-01 22:19:45 90

原创 D. Restore Permutation(树状数组+二分)

传送门题意:给一个数N和N个数每个数记录的是原数列N中该位置之前比其小的数之和 问原数列是多少 原数列每个数大小在1-N之间例子3原数列 3 2 1所以该数列为 0 0 0 以下同理思路:刚开始我推导出了最后一个数一定可以被确定下来,根据si=(n-1)*n/2可以计算出n 然后再用这个数推导前面的但是怎么推导呢?起初我并没有想过用1-N的前项和去推可能是因为觉得这个数列顺序...

2019-08-28 19:22:48 167

原创 Fishing Master 贪心!!

传送门思路:代码#include<cstdio>#include<iostream>#include<cstring>#include<string>#include<algorithm>#include<queue>#include<map>#include<vector>#...

2019-08-23 21:09:08 126

原创 例题_CF1168A 二分+贪心

传送门题意分析:给定一个n代表接下来一行有n个数,然后是m代表要取余的数,你可以进行一个操作:选择任意k个数让他们+1对m取余得到一个数,这个数可以代替原数组中的数,问:最少需要多少次操作使得n个数为不下降序列解法:二分答案+贪心,最初的思路是要用二分去写这个题,顾名思义是要二分最后输出的答案,然后写一个check函数去检查这个答案的可行性,怎么写check函数呢?最少的操作数!!!很重...

2019-08-17 22:54:29 158

原创 Codeforces Round #579 (Div. 3)D2(二分+贪心+字符串)C(欧拉函数求因子个数及因子个数之和模板)

传送门题意分析:给出两个字符串 S T 可以通过删除S中的一些子序列(连续)使得最后获得T,问删除子序列的最大长度;样例一bbababb输出 3可以把 aba删除得到bb样例二baabaab输出 2把 ba a 删除得到ab 所以最大子序列长度是2思路比赛的时候只是爆出了D1而D2没有太多的想法,结束后看到cf给出的标签是binary search greedy...

2019-08-14 19:22:58 169

原创 POJ1423Stirling__大N阶乘的位数

点我直接上代码#include<cstdio>#include<iostream>#include<cstring>#include<string>#include<algorithm>#include<queue>#include<map>#include<vector>#inc...

2019-07-31 21:33:03 122

原创 Codeforces Round #576 (Div. 2)

题目A题意:输入n以及n个数,从n个数中找到一个一个数使得它前面至少有x个比它大的数,后面至少有Y个比它大的数。思路;直接暴力枚举每个数,一定要注意数组+7越界的情况 呜呜呜 比赛过了重判的时候Wa在了第32组样例 枯了代码#include<cstdio>#include<iostream>#include<cstring>#include&l...

2019-07-31 15:12:19 85

原创 (模板)并查集入门__简单操作

并查集利用并查集可以形成一棵树,用来表示连通如上图所示,具体的做法分为三个部分首先是初始化数组for(int i=1;i<=n;i++) num[i]=i;//初始化自己的祖先是自己查找操作int find(int x) { int r=x; while(num[r]!=r) r=num[r];//找当前元素的父亲节点,看它指向谁 //路径压缩,将上面找父亲节点途径的节...

2019-07-30 21:08:53 101

原创 蓝桥杯___C/C++组大数据乘法加法模拟

大数相乘 数组模拟直接上代码#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>using namespace std;int main(){ int n; cin>>n; getchar(); while(n--){ ch...

2019-07-30 20:55:26 170

原创 RMQ算法_ST表__2019牛客多校联盟A题Equivalent Prefixes

题目题目大意就是给你两个长度为n的序列让你找到一个尽可能大的下标p使得1-p之间的任意两个区间l-r都满足RMQ(u,l,r)相等其实就是最小下标相同RMQ (Range Minimum/Maximum Query)问题是指:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在i,j里的最小(大)值,也就是说,RMQ问题是指求区间最值的问题。这...

2019-07-19 11:52:28 121

原创 二分图____基本知识+染色判定+最大匹配(匈牙利算法)+完美匹配(KM算法)

二分图概念以下概念转自其他博客,不是原创。二分图染色的概念:二分图染色是一种用来判断给定图(有向图或无向图)是否是二分图的算法。在图上不断进行BFS或DFS,并在运行过程中不断对结点进行"染色","染色"保证相邻结点的颜色必然不同。如果无法保证,则这个图就是二分图.二分图染色时的注意事项:二分图染色的题常会结合DP进行考察,因此往往要注意推理状态转移方程二分图染色类型的题目也有可能结...

2019-07-17 21:59:39 2342

原创 C语言数据结构二叉树的建立,前序后序层序和中序创建二叉树

二叉树定义二叉树是递归定义的,其结点有左右子树之分,逻辑上二叉树有五种基本形态:(1)空二叉树——如图(a);(2)只有一个根结点的二叉树——如图(b);(3)只有左子树——如图©; (4)只有右子树——如图(d);(5)完全二叉树——如图(e)。注意:尽管二叉树与树有许多相似之处,但二叉树不是树的特殊情形。 [1]...

2019-07-10 23:04:09 2383 4

原创 动态规划——LCS最长公共子序列

提交VS地址很早之前看过LCS但是热身赛却没写出来,枯了可能对dp还是存在疑惑,比赛中想到了一个奇特的思路,虽然Wa了但是对我个人来说意义不同,先说下DP的思路,看了网上以为Dalao的博客之后瞬间明白了 摘自https://www.cnblogs.com/wkfvawl/p/9362287.html一,问题描述给定两个字符串,求解这两个字符串的最长公共子序列(Longest Com...

2019-07-08 19:34:25 261

原创 Codeforces Round #572 (Div. 2)-B

B.Number Circletime limit per test 1 secondmemory limit per test 256 megabytesinputstandard inputoutputstandard outputYou are given n numbers a1,a2,…,an. Is it possible to arrange them in a circ...

2019-07-06 01:51:49 165

原创 Codeforces Round #562 (Div. 2)

写这个cf题的时候本来心情挺舒畅的因为A题被我秒a了 感觉美滋滋。先说说我对这个题意的理解 首先输入一个n , m;n代表的是数对中最大值为n然后接下来输入m行数对 然后让你判断的是是否存在两个x y 使得每一个数对中至少有一个数和x y 中的任何一个数相等 。本来我的思路是既然这个x y在每个数对中都有可能出现一次 那么 x y 出现的次数肯定最多 ,然后我就想着记录所有数 记录他们...

2019-05-28 00:06:27 116

原创 7-1 银行业务队列简单模拟 (25 分)_数据结构c语言和c++代码

7-1 银行业务队列简单模拟 (25 分)设某银行有A、B两个业务窗口,且处理业务的速度不一样,其中A窗口处理速度是B窗口的2倍 —— 即当A窗口每处理完2个顾客时,B窗口处理完1个顾客。给定到达银行的顾客序列,请按业务完成的顺序输出顾客序列。假定不考虑顾客先后到达的时间间隔,并且当不同窗口同时处理完2个顾客时,A窗口顾客优先输出。输入格式:输入为一行正整数,其中第1个数字N(≤1000)为...

2019-03-21 22:58:03 13863 6

原创 7-1 银行业务队列简单模拟 (25 分)(数据结构_queue)

题目描述设某银行有A、B两个业务窗口,且处理业务的速度不一样,其中A窗口处理速度是B窗口的2倍 —— 即当A窗口每处理完2个顾客时,B窗口处理完1个顾客。给定到达银行的顾客序列,请按业务完成的顺序输出顾客序列。假定不考虑顾客先后到达的时间间隔,并且当不同窗口同时处理完2个顾客时,A窗口顾客优先输出。输入格式:输入为一行正整数,其中第1个数字N(≤1000)为顾客总数,后面跟着N位顾客的编号。...

2019-03-21 22:49:00 14253 11

原创 NOIP优先队列_接水问题

问题描述学校里有一个水房,水房里一共装有m 个龙头可供同学们打开水,每个龙头每秒钟的 供水量相等,均为1。 现在有n 名同学准备接水,他们的初始接水顺序已经确定。将这些同学按接水顺序从1 到n 编号,i 号同学的接水量为wi。接水开始时,1 到m 号同学各占一个水龙头,并同时打 开水龙头接水。当其中某名同学j 完成其接水量要求wj 后,下一名排队等候接水的同学k 马上接替j 同学的位置开始接水。...

2019-02-19 20:58:28 358

原创 开灯问题

题目描述n盏灯编号为1-n,第一个人把所有灯都打开,第二个人按下所有编号为2的倍数的开关,第三个人按下所有编号为3的倍数的开关其中关掉的灯将被打开,以此类推,一共有k个人,问最后有那些灯开着?输入n和k,输出开着的灯的编号。k&lt;=n&lt;=1000样例输入7 3样例输出1 5 6 7#include&lt;cstdio&gt;#include&lt;cstring&gt;#...

2019-01-28 12:52:17 139

原创 HDU_2532(附带解题思路)

今天收获还是有的 虽说写了很长时间没写出来 ,不过从别人的代码中也学到了一些知识和思路。更看到了自己的不足strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。废话不多说先看题Problem Description谷歌、百度等搜索引擎已经成为了互连网中不可或缺的一部分。在本题中,你的任...

2019-01-16 19:40:39 363

原创 HDU1013(数论+非数论)

写这篇文章纯属为了庆祝自己通过的喜悦心情废话不说直接上题#include&lt;cstdio&gt;#include&lt;cstring&gt;#include&lt;iostream&gt;using namespace std;int ssum(int n)//计算各位和 { int sum=0; while(n) { sum+=n%10; n/=10; } r...

2019-01-13 16:18:03 119

原创 HDU2031进制转换

输入一个十进制数N,将它转换成R进制数输出。

2019-01-12 21:59:23 144

原创 筛选素数(欧拉筛和普通筛)c语言实现_菜鸟小波

小编很伤心花费了这么长时间才大概弄懂了筛选素数表 其实很多时候是为了时间吧复杂度降低了提交也不会限时了我是一名还没入门acm的菜鸡 写这篇文章纯属为了安慰自己的弱小心灵,废话不多说上代码。#include&amp;lt;stdio.h&amp;gt;#include&amp;lt;string.h&amp;gt;#define maxn 10005int main(){ int a[maxn],i,j=0,flag=...

2019-01-11 23:34:57 1591 12

转载 博弈:巴什,威佐夫,尼姆,斐波那契 的 模板,习题和原理

博弈模板博弈原理习题:(1)巴什博弈hdu4764 hdu1846(2)威佐夫博弈hdu1527(3)尼姆博弈hdu1850(4)斐波那契博弈hdu2516读博弈原理博客的一些笔记(1)有关威佐夫博弈的第二类问题给你一个局面,让你求先手输赢,假设先手赢的话输出他第一次的取法。首先讨论在两边同时取的情况,很明显两边同时取的话,不论怎样取他的差值是不会变的,那么我们可以根据差值计...

2018-12-21 22:35:01 116

原创 辗转相除法和辗转相减法求最大公约数和最小公倍数

辗转相除法#include&lt;stdio.h&gt;int main(){ int a,b,r,m,n; scanf("%d%d",&amp;a,&amp;b); m=a,n=b; while(b!=0){//被除数不等于0 r=a%b; a=b; b=r;//下一次被除数为r } printf("%d %d",a,m/a*n);//输出最后一个除数 re...

2018-12-13 20:00:10 1175

原创 输入n递归求全排列,附上自己的心得

#include&lt;stdio.h&gt;int p[100],n,i;int h[100]={false}; void quanpai(int index){ if(index==n+1){//满足条件的时候输出而满足条件的时候正是最后一位填满的时候 for(i=1;i&lt;=n;i++){ printf("%d",p[i]); } printf("...

2018-12-13 19:47:09 454

原创 PTA7-11 最长对称子串(菜鸟自写c代码)

题目描述7-11 最长对称子串 (25 分)对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&amp;TAP symmetric?,最长对称子串为s PAT&amp;TAP s,于是你应该输出11。输入格式:输入在一行中给出长度不超过1000的非空字符串。输出格式:在一行中输出最长对称子串的长度。输入样例:Is PAT&amp;TAP symmetric?...

2018-12-07 21:32:08 836 2

原创 printf("%#X",num) //有前缀0x的大写16进制数

printf的格式化,很多文章都有写。现在把一个8进制,16进制的输出细节拎出来,可以方便其他人查找。使用printf输出8进制,16进制方法如下。无前缀方式printf("%o",num) //无前缀o的8进制数printf("%x",num) //无前缀0x的小写16进制数printf("%X",num) //无前缀0x的大写16进制数有前缀方式printf("%#o",n...

2018-12-05 23:05:10 3422 1

空空如也

空空如也

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

TA关注的人

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