自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

菜鸡成长史

(*╹▽╹*)

  • 博客(27)
  • 收藏
  • 关注

原创 CF 1140B. Good String(简单贪心)

【题面】【题解】题意:操作一,保留 > ,删除右边一个符号;操作二,保留 < ,保留左边一个符号。执行一次其中一个操作最后能得到一个仅剩一个字符的字符串即为好的字符串。输出需要执行多少次删除一个任意字符的操作才能得到一个好的字符串。思路:寻找最左边的 '>'和最右边的 '<' ,保留最靠近边缘的保证需要删除的字符最少。【代码】#include &...

2019-03-28 11:09:42 719

原创 CF 1140A. Detective Book(简单模拟题)

【题面】【题解】题意:我们要看一本带有谜题的书,解开第i页谜题的内容在第ai页,每一天从下一未读页开始,只有在解开所读页码的所有谜题才会停止,问看完这本书要几天。思路:不断寻找谜底所在最大的页数,模拟即可。【代码】int main(){ int n; scanf("%d",&n); int ans=0,a[10005]; for(int ...

2019-03-27 20:27:44 338

原创 L3-004 肿瘤诊断 (30 分)(简单三维bfs)

【题解】两个像素被认为是“连通的”,如果它们有一个共同的切面 ---> 显然本题是三维bfs。判断到一个肿瘤像素1时,搜索出最大连通数目即面积,同时把搜索过的部分变成0表示已记过数,最后连通块面积如果不小于t则计入总数。【代码】#include <bits/stdc++.h>using namespace std;int dx[6][3]={{1,0,0},...

2019-03-26 21:27:35 1501

原创 L3-001 凑零钱 (30 分)(简单dfs)

【题解】题目要求输出字典序最小,所以我们先把给定序列升序排序,然后得到的第一个结果显然就是字典序最小的可能结果。最后一个测试样例超时的点在于,可能全部加起来都不足以凑到m,所以我们要先判断一下。【代码】#include<bits/stdc++.h>using namespace std;int n,m,cnt=0,f=0;int a[10005];int an...

2019-03-26 19:15:02 2590

原创 L3-003 社交集群 (30 分)(简单并查集)

【题解】显然是并查集查询有多少个不相交集合,最后计数输出即可。【代码】#include<bits/stdc++.h>using namespace std;int pre[1005];int Find(int x){ return x==pre[x]?x:pre[x]=Find(pre[x]);}void join(int x,int y){ ...

2019-03-26 19:01:03 1483 2

原创 L3-002 特殊堆栈 (30 分)(vector + lower_bound() )

【题解】定义一个vector容器存储原始堆栈序列,再定义一个容器存储以键值升序排序的输入序列。二分查找插入与删除提高效率。【代码】#include<bits/stdc++.h>using namespace std;int main(){ int n; scanf("%d",&n); string s; vector <int> v,vec...

2019-03-26 16:39:09 204

原创 L2-011 玩转二叉树 (25 分)(二叉树的遍历)

【题解】根据中序和前序寻找根结点,再根据根结点递归左右子树继续建树。思路一:用数组存储整棵树,父节点编号为i(根结点从1开始),则左右儿子的编号分别为i*2和i*2+1。递归建树最后判断输出不为空的结点即可。思路二:用链表存储整棵树,递归建树,最后bfs输出整棵树的结点即可。【代码一】#include <bits/stdc++.h>using namespace...

2019-03-23 16:17:48 580

原创 L2-020 功夫传人 (25 分)(dfs)

【题解】没有弟子即为得道者,一代代dfs下去,遇到得道者加上功力即可。【代码】#include <bits/stdc++.h>using namespace std;const int maxn=100005;typedef long long ll;vector <int> vec[maxn];double z,r;int k,b,n;int ...

2019-03-22 16:14:03 203 3

原创 L2-016 愿天下有情人都是失散多年的兄妹 (25 分)(bfs)

【题解】记录两个人的前五代判断是否存在相同的部分,自然而然想到用bfs存储,用结构体存储第几代用于判断遍历的终止。【代码】#include <bits/stdc++.h>using namespace std;map <int,char> sex;map <int,int> fa;map <int,int> ma;int vi...

2019-03-22 10:50:10 380

原创 L2-014 列车调度 (25 分)(思维)

【题解】要求轨道最少,考虑到每一次替换掉尽可能小的又大于自身的数,一开始用vector存每个轨道最后一个进去的数然后每次sort再二分超时了,然后考虑用set自动排序再二分过了。至于为什么,sort()用的是快排,平均时间复杂度为O(nlogn),最差时间复杂度会达到O(n^2),而set的内部数据结构是红黑树,时间复杂度为O(log(n))。But !!! 其实我们再想一想就会发现,生成...

2019-03-21 20:22:45 1158

原创 L2-012 关于堆的判断 (25 分)(数据结构)

【题解】坑点在于,必须要边输入边建立最小堆。还有记得考虑x,y可能为负。建立最小堆可手写也可用STL的建堆函数make_heap()。【代码】int h[2000];int n;/* 手写建立最小堆void siftdown(int pos,int len){ int flag=1; while(flag){ int t=pos; ...

2019-03-20 18:23:15 390 2

原创 L2-022 重排链表 (25 分)(map)

【题解】类似L2-002 链表去重 (25 分)(模拟+思维)用map存结点与结点的顺序和逆序对应关系还有地址和值的对应关系,两头开始往中间跑输出即可。刚开始交了有一个测试数据没过,想了想,测了下发现奇数个和偶数个需要有点不同的处理方式。【代码】#include <bits/stdc++.h>using namespace std;map <int,in...

2019-03-19 19:56:21 237

原创 2019年杭州师范大学第十二届程序设计竞赛 B:Little Sub and Triples(思维+枚举)

Little Sub and Triples【题解】即a+b>c,又a<=b<=c,所以题意是问在给定区间内是否存在三条边能组成三角形。int范围内(0x7fffffff),即使是最坏情况一直满足a[i]+a[i+1]=a[i+2],就变成了斐波那契数列,而斐波那契数列的增长速度不用多少项就会超过数字大小的上限,打个表实际上是第47项。当区间大小超过47时输出Y...

2019-03-18 18:56:34 474

原创 2019年杭州师范大学第十二届程序设计竞赛 I:Little Sub and Enigma(简单思维题)

Little Sub and Enigma【题解】为什么那时候没有开这道题呢(沉默)加密串与解密串的字母一一对应。输出可推断出的所有情况,特判25组对应关系推出第26组的情况。思路:加密串对应的解密串字母一定是同时出现的,vis1[]记录加密串字母出现过与否(出现过则赋值为对应字母的ASCII码),vis2[]记录解密串字母出现过与否。定义计数器判断25->26的情况。没有一...

2019-03-18 17:18:34 618

原创 2019年杭州师范大学第十二届程序设计竞赛 K:Little Sub and Triangles(三角形面积公式+二分)

Little Sub and Triangles【题解】数学太差推错公式orz已知三角形三个顶点坐标求三角形面积公式:S=0.5*fabs((x2-x1)*(y3-y1)-(x3-x1)*(y2-y1))遍历求出所有三角形的面积,排序二分统计个数即可。【代码】#include <cstdio>#include <iostream>#includ...

2019-03-17 22:04:23 304

原创 2019年杭州师范大学第十二届程序设计竞赛 H:Little Sub and Counting(简单数学题)

Little Sub and Counting【题目】Little Sub and CountingTime Limit:1 s Memory Limit: 256 MBSubmission:1587 AC:150 Score:100.00SubmitCodesDescriptionLittle Sub likes Math. No...

2019-03-17 20:55:35 361

原创 L2-007 家庭房产 (25 分)(并查集)

【题目】L2-007家庭房产(25分)给定每个人的家庭成员和其自己名下的房产,请你统计出每个家庭的人口数、人均房产面积及房产套数。输入格式:输入第一行给出一个正整数N(≤1000),随后N行,每行按下列格式给出一个人的房产:编号 父 母 k 孩子1 ... 孩子k 房产套数 总面积其中编号是每个人独有的一个4位数的编号;父和母分别是该编号对应的这个人的父母的编号(...

2019-03-13 09:52:22 450 1

原创 G:处女座和小姐姐(三)(思维)

【题解】wa了三发才过,我太菜了。思路就是比较普通的思路,就是实现起来比较麻烦(也有点乱嘿嘿嘿)。思路:把一般情况下每10^i中有多少个带6的数的个数存入c[i],c[1]=1,c[2]=19......显然像60-69,600-699等这种情况比较特殊,我们另外再进行计算。然后从高位到低位依次进行计数,sum加上10^i,i的初值是x的位数,每10^i次ans加上c[i],遇到特殊情况a...

2019-03-12 15:06:45 343

原创 L1-049 天梯赛座位分配 (20 分)(模拟)

【题解】题意:按学校的顺序,首先入座的是各队的第一位队员,而后第二位...第三位直到所有队员入座,最后如果仅剩一个学校的队员,就隔一个位子坐。最后按学校顺序输出每只队伍队员的座位号。思路:一个个座位号分配下去,跳过已经分配完的学校,若只剩一个学校分配的座位号跳一个位置。【代码】#include<bits/stdc++.h>using namespace std;v...

2019-03-10 15:40:11 516

原创 L1-043 阅览室 (20 分)(坑)

【题目】L1-043阅览室(20 分)天梯图书阅览室请你编写一个简单的图书借阅统计程序。当读者借书时,管理员输入书号并按下S键,程序开始计时;当读者还书时,管理员输入书号并按下E键,程序结束计时。书号为不超过1000的正整数。当管理员将0作为书号输入时,表示一天工作结束,你的程序应输出当天的读者借书次数和平均阅读时间。注意:由于线路偶尔会有故障,可能出现不完整的纪录,即只有S没有E...

2019-03-10 14:38:43 2582 6

原创 L2-006 树的遍历(25 分) (二叉树的遍历)

【题解】思路:从根节点开始,找到每一层的根节点,然后对左右子树进行递归建树。最后bfs层序遍历输出整棵树。【代码】#include <bits/stdc++.h>using namespace std;int mid[35],post[35];struct node{ int lson,rson;}f[35];int build(int lmid,int rm...

2019-03-09 15:08:23 1592 1

原创 L2-004 这是二叉搜索树吗? (25 分)(二叉树的遍历)

【题解】思路:一棵合法的二叉搜索树的先序遍历序列满足,对于区间[l,r],存在一个点i,a[l]<a[i]<=a[r]。递归判断下是否是合法的二叉搜索树或者镜像(a[l]>=a[i]>a[r])即可。【代码1】#include <bits/stdc++.h>using namespace std;vector <int> pos...

2019-03-06 19:12:39 1859 4

原创 L2-005 集合相似度 (25 分)(set)

【题目】L2-005集合相似度(25 分)给定两个整数集合,它们的相似度定义为:N​c​​/N​t​​×100%。其中N​c​​是两个集合都有的不相等整数的个数,N​t​​是两个集合一共有的不相等整数的个数。你的任务就是计算任意一对给定集合的相似度。输入格式:输入第一行给出一个正整数N(≤50),是集合的个数。随后N行,每行对应一个集合。每个集合首先给出一个正整数M(≤10​4...

2019-03-06 11:55:33 247

原创 L2-002 链表去重 (25 分)(map queue)

【题解】类似L2-022 重排链表 (25 分)(模拟+思维)用map存储结点的顺序存储关系和地址所对应的值,vis用于判断是否出现重复的绝对值。用队列1,2分别记录保留和删去的结点地址,按顺序判断下来,若出现过则压入队列2,否则压入队列1。最后输出即可。【代码】#include <bits/stdc++.h>using namespace std;map &lt...

2019-03-05 20:54:41 725

原创 L2-001 紧急救援 (25 分)(Dijkstra求最短路)

【题目】L2-001紧急救援(25 分)作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候,你的任务是带领你的救援队尽快赶往事发地,同时,一路上召集尽可能多的救援队。输入格式:输入第一行给出4个正整数N、M、S、D...

2019-03-03 21:16:12 395

原创 L2-028 秀恩爱分得快 (25 分)(模拟)

【题目】L2-028秀恩爱分得快(25 分)古人云:秀恩爱,分得快。互联网上每天都有大量人发布大量照片,我们通过分析这些照片,可以分析人与人之间的亲密度。如果一张照片上出现了 K 个人,这些人两两间的亲密度就被定义为 1/K。任意两个人如果同时出现在若干张照片里,他们之间的亲密度就是所有这些同框照片对应的亲密度之和。下面给定一批照片,请你分析一对给定的情侣,看看他们分别有没有亲密度...

2019-03-02 19:36:56 1101 1

原创 G:区间或和(思维)

【...】是寒假做的题解,但是不知道什么时候设置成私密了,奇奇怪怪的【题解】这道题真的绊了我很久很久...但是通过量好高啊...于是我们知道只有0|0才是0,把a,b化成二进制先按位或一遍,然后我们可以发现每2^(i-1)个数可以把第i位从0->1,如果a的二进制数的位数小于b,那么显然可以把b的第一位后边的每一位都或成1。当然我们知道肯定有更简便合理的做法(哭了我真是太...

2019-03-01 20:11:46 767 4

空空如也

空空如也

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

TA关注的人

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