自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

秦楚

朝秦暮楚

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

原创 蓝桥杯模拟赛2017 风险度量

标题:风险度量X星系的的防卫体系包含 n 个空间站。这 n 个空间站间有 m 条通信链路,构成通信网。 两个空间站间可能直接通信,也可能通过其它空间站中转。对于两个站点x和y (x != y), 如果能找到一个站点z,使得: 当z被破坏后,x和y无法通信,则称z为关于x,y的关键站点。显然,对于给定的两个站点,关于它们的关键点的个数越多,通信风险越大。

2017-04-06 21:17:07 395

原创 蓝桥杯模拟赛2017 还款计算

标题: 还款计算银行贷款的等额本息还款方法是: 每月还固定的金额,在约定的期数内正好还完(最后一个月可能会有微小的零头出入)。比如说小明在银行贷款1万元。贷款年化利率为5%,贷款期限为24个月。 则银行会在每个月进行结算: 结算方法是:计算本金在本月产生的利息: 本金 x (年利率/12) 则本月本金结余为:本金 + 利息 - 每月固定还款额 计算结果会四舍五入

2017-04-06 20:06:26 515

原创 蓝桥杯模拟赛2017 字符串比较

标题:字符串比较我们需要一个新的字符串比较函数compare(s1, s2).对这个函数要求是:1. 它返回一个整数,表示比较的结果。2. 结果为正值,则前一个串大,为负值,后一个串大,否则,相同。3. 结果的绝对值表示:在第几个字母处发现了两个串不等。下面是代码实现。对题面的数据,结果为:-325仔细阅读源程序,填写划线位置缺少的代码。

2017-04-06 19:57:20 583

原创 蓝桥杯模拟赛2017 排列序数

标题: 排列序数X星系的某次考古活动发现了史前智能痕迹。 这是一些用来计数的符号,经过分析它的计数规律如下: (为了表示方便,我们把这些奇怪的符号用a~q代替)abcdefghijklmnopq 表示0 abcdefghijklmnoqp 表示1 abcdefghijklmnpoq 表示2 abcdefghijklmnpqo 表示3 abcdefghijkl

2017-04-06 19:53:48 480

原创 蓝桥杯模拟赛2017 猜算式

题目:猜算式你一定还记得小学学习过的乘法计算过程,比如:273x 15------1365273------4095请你观察如下的乘法算式***x ***--------*********--------*****星号代表某位数字,注意这些星号中,0~9中的每个数字都恰好用了2次。(如因字体而产生对

2017-04-06 19:47:06 398

原创 蓝桥杯模拟赛2017 算年龄

标题:算年龄英国数学家德摩根出生于19世纪初叶(即18xx年)。 他年少时便很有才华。一次有人问他的年龄,他回答说: “到了x的平方那年,我刚好是x岁”。请你计算一下,德摩根到底出生在哪一年。 题中的年龄指的是周岁。请填写表示他出生年份的四位数字,不要填写任何多余内容。第一道题光看题目就看了20分钟,看不是很懂表示。。。18xx年的x和所求的x并没有什么关系

2017-04-06 19:43:38 472

原创 PTA 1034. Head of a Gang (30)

使用并查集#include#include#include#include#include#include#include#include#include#includeusing namespace std;vectorv[2]; //保存输入的对话 int a[260000]; //并查集 int value[260000]; //每个人的weight

2017-03-03 16:51:29 331

原创 PAT 1018. Public Bike Management

简单的dfs(写成了最短路),写了一下午,纪念一下。。。#include#include#include#include#include#include#include#include#include#includeusing namespace std;int C,N,S,M;int save[510]; //每个点的车数 struct node{ int x;

2017-02-28 20:33:25 308

原创 BestCoder Round #85 前三题题解

1001预处理前缀和,一旦有两个数模m的值相同,说明中间一部分连续子列可以组成m的倍数。 另外,利用抽屉原理,我们可以得到,一旦n大于等于m,答案一定是YES 复杂度 O(n)#include#include#include#include#include#include#include#include#includeusing namespa

2016-07-31 15:00:22 317

原创 放球游戏(51nod 1418)模拟

模拟,每次从左到右找第一个最优插入点,更新新的字符串,当本字符串已经能够得到最优值6,那么之后不用在模拟了,直接计算输出即可。#include#include#include#include#includeusing namespace std;char a[55];int judge(char& a){ //判断哪种颜色 if(a=='R') return 0;

2016-05-25 21:47:27 475

原创 数数字(51nod 1770)

数字一共会有三种状态:1:两数相乘没有进位,则只会出现一种情况,如:3333*3 = 99992:两数相乘有进位,但是进位和下一个乘积相加没有进位,如 9999*9=899913:两数相乘有进位,且进位和下一个乘积相加有进位,如8888*6 = 53328那么分三种情况各自讨论就好了。#include#include#include#includeusing names

2016-05-25 21:36:57 819

原创 Board Silly(poj 1558)模拟

模拟题,就是细心就好了~八个方向都试一遍,途中遇到敌方则失败,最后的落点为己方则失败。最后要求字典序输出,得排一下序。#include#include#include#include#includeusing namespace std;char a[10][10]; //棋盘 char q[2]; //下棋的一方 int hang[8]; //提前把每行的棋数

2016-05-25 21:28:25 448

原创 两点(51nod 1416)

DFS。开一个标记数组,每一个点查找是否有环,已经走过的点不需要再走。每一次搜索,标记当前点是第几步走到的,若这两个点步数相差3,则成环。#include#include#include#include#includeusing namespace std;char a[55][55];int book[55][55]; //三种状态,0:未走过 >0:当前这一次搜索中

2016-05-24 21:59:09 806

原创 N!(nyoj 954)

当二进制中最后一位1*2时1会进一位,所以本题求N!中有几个约数2.sum = n/2 + n/4 + n/8 + … + 1.原因:n/2为从1~n有几个能被2整除,n/4为有几个能被4整除,以此类推。例如:17!1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17n/2 = 8 : 2,4,6,8,10,12,14,16n/4 = 4 :

2016-05-21 20:30:44 351

原创 乘法游戏(tyvj P1014)区间dp

区间dp,dp[i][j] = min ( 左右两边去掉的数计算的和 + 当前数a[k]*a[i]*a[j] )#include#include#include#include#include#include#define lson l,m,level*2#define rson m+1,r,level*2+1using namespace std;int a[110

2016-05-21 20:18:37 837

原创 滑雪(tyvj P1004)

记忆化搜索,四个方向取最大。#include#include#include#include#include#includeusing namespace std;int a[110][110];int book[110][110];int d[4][2] = {1,0,0,1,-1,0,0,-1};int dfs(int x,int y);int n,m;int ma

2016-05-21 20:14:11 561

原创 华山论剑(nyoj 856)

是一道区间更新的题,先说题意。编号[l,r]共r-l+1个剑客一起决斗,x胜出,那么从l到r都标记为x,x为0,反复决斗,其中有可能胜出的人再被其他人打败,要求输出每一个剑客第一次被这个剑客打败的编号。乍一看就是用线段树去做,但是每次都更新到点会超时,所以要用到标记。用一个标记数组,若当前的区间已经全部被修改了,那么以后不需要再查询这个区间了,注意是这个区间全部的点,因为每一次战斗都有

2016-05-21 17:29:02 779

原创 STR(nyoj 996)

一开始看难度是一,直接跳过不做了,结果。。。大神博客地址http://blog.csdn.net/c_duoduo/article/details/51449537 thank you~对字符串进行排序,要看两个字符串怎样组成的新字符串来排序。#include#include#include#include#include#include#includeu

2016-05-19 21:54:32 455

原创 邱老师降临小行星(UESTC 1086)

记忆化搜索,每个格子对应4(方向)*2(向左还是向右转)共8种标记。#include#include#include#include#include#include#includeusing namespace std;char a[1010][1010];int book[1010][1010][4][2];int n,m;int d[4][2] = {-1,0,1,0

2016-05-18 18:23:27 421

原创 团体程序设计天梯赛-模拟赛(2016年)

没有写完,不定时更新L1-1  N个数求和 读入每个分数进行相加,每次相加都要化简。输出要求假分数,若分母为1,则输出整数。#include#include#include#include#include#include#includeusing namespace std;long long com(long long x,long long y);int ma

2016-05-15 20:39:38 1889 9

原创 小希的迷宫(hdu 1272)

判断是否有环,是否为连通图,用并查集。点并不全,要标记哪些点出现了。#include#include#include#include#include#include#includeusing namespace std;int a[100000];int solve(int x,int y);int find(int x);int book[100000];int

2016-05-15 20:13:57 308

原创 Alignment of Code(hdu)

对字符串进行处理,有坑点如下:1:@'\0' 这样才是结束,而不是只判断@2:最后一个样例不会给@,要特判3:输出的字符串前后都不能有空格,会判错#include#include#includeusing namespace std;char a[1010][200]; //字符串 int l[1010]; //保存字符串长度 int str[1010]; //保存每一

2016-05-14 17:44:35 380

原创 Hamming Problem(hdu 3199)

题目很巧妙,比赛的时候做的,不会~#include#include#includeusing namespace std;int main(){ long long a,b,c,n; while(scanf("%I64d%I64d%I64d%I64d",&a,&b,&c,&n)!=EOF){ int x = 0,y = 0,z = 0; long long num[1000

2016-05-14 17:36:20 414

原创 最大报销额(hdu 1864)

普通01背包,按要求去掉不同的发票就行了。用dfs也实现了一下,数据弱,比dp还快。。。#include#include#include#include#includeusing namespace std;vectorv;double ans;void solve();int n;double m;int s[3000050];int main(){ sc

2016-05-14 10:41:24 321

原创 History Grading(uva 111)

基础的lcs,错了好几遍的原因:1:题意,首先给出的序列并不是我们要求的,而是代表了第几个数的历史时间,要经过转化。2:怎样退出,没有告诉你到底有几个。#include#include#include#includeusing namespace std;int a[25];int b[25];int s[25][25];int n;int ans;void

2016-05-14 10:38:03 462

原创 PTA 5-25 朋友圈

并查集,第一种是网上学习的代码,对它进行了排序,快一点,第二种就是普通的并查集。//非常规并查集 并查集数组存的是这一个数一共有几个点 用负数来表示 #include#include#define MAX 30010int a[MAX];int rank[MAX];int N,M;int max;void init();int find(int x);void union_

2016-05-11 21:27:45 1213

原创 Agri-Net(最小生成树)

基础题,最小生成树#include#include#include#include#include#includeusing namespace std;int a[110][110];int book[110];int visit[110];int main(){ int n; while(scanf("%d",&n)!=EOF){ for(int i=0;i<n

2016-05-08 21:50:01 431

原创 字符串排序(nyoj 1149)

要求每一个字符串按字典序排列,结尾输出字符串的最后一位,只要将字符串取到能进行比较的程度就行了,不用全部比较。主要是递归的思想,不断地对相同的区间继续比较,直到都有序。#include#include#include#include#include#includeusing namespace std;char c[100010];struct node{ str

2016-05-08 21:18:45 568

原创 模拟2048(nyoj 1187)

模拟题,提示此题为2048加强版:如 有一行为 32 16 16 0 则向右结果为 0 0 0 64 向左结果为 32 32 0 0 。即:合并后如果后面有可以合并的则合并 合并前的不算。这是题目的提示,按照要求做就行。思路:举例向右划,那么从最右 i 向左扫,扫到一个数若与 i 位置的数相等,则i位置加上该数,继续向左扫,直到结束或者碰到一个数与 i 位置的数不相等。扫完

2016-05-08 17:58:24 541

原创 nyoj 239 月老的难题(匈牙利算法)

花了一下午的时间看了匈牙利算法,大概弄懂了点,就是寻找增广路径,然后不断的更新路径。用dfs和bfs两种方法实现了下,注释详细。dfs好写,容易懂,但是当点稀疏的时候效率没有bfs高。bfs实现:#include#include#include#include#include#include#includeusing namespace std;vectora[51

2016-05-07 16:48:17 600

原创 nyoj1170 最大的数

是一道贪心的题目,一开始用区间dp做了一遍,竟然超内存了。。。不过就算不超内存肯定也会超时。题解:当该数不是1的话肯定是相乘最大,所以就找1处理就好,处理之后该位要变成0。当1在首尾的时候要特殊判断,找到和它最近的数加起来。当在其他位置的时候,和最小的数相加,若这里要注意2要特殊判断,一个样例:2 1 1 2,这里第一个1就要加到2上,而不是第三位的1。#include

2016-05-07 10:20:03 525

原创 code::blocks 在linux下的安装 全过程

渣渣要准备acm省赛了,比赛要求环境是linux,所以要临时抱佛脚了,先提前适应一下。话说真的是安了2个小时啊,当跑出来“hello world”的时候真是想哭啊。。。其实很多方法都可以安装,重要的是有的时候吧,你安装的对,但是她就是跑不出来。。汇总了几种网上的方法,都是可以的。(亲试,哭~)一:(来自网址 http://www.2cto.com/os/201510/44671

2016-05-03 15:55:46 19938 1

原创 coins(hdu 3348 贪心 + 多重背包)

用多重背包写总是超时,看了大神的思路。。。一开始我完全用多重背包,超时。。。后来一开始用贪心求出最小张数,然后把多重背包转化成01背包和完全背包,再次超时。。。再然后就是下面的代码了,但是背包比起完全用贪心写还是太慢了。#include#include#include#include#include#include#includeusing namespace

2016-05-02 16:17:50 638

原创 Coins (hdu 2844)多重背包

今天重新学习了多重背包,为选拔赛做准备。这道题学习了大神键盘上的舞者的模板,感谢~本题就是简单的多重背包,先判断将该硬币化为完全背包还是01背包处理,01背包利用二进制化简。题目求的是一共能表示多少种price,这里答案用dp[ i ] == i 判断,原因如下:这道题全部初始化为零,也就是不装满求最大,价值为背包容量,同时也是价值当dp[ i ]即最大容量为i时,装i是最大的,而

2016-05-01 21:13:33 593

原创 BFS DFS 搜索专题合集

在准备蓝桥杯,最重要的当然是搜索啦啦,开个搜索专题专门贴题,不定时更新。hdu 2181 哈密顿绕行世界问题因为数据不大,所以简单的深搜就可以了,注意从小到大排下序,防止数据随机给。#include#include#include#includeusing namespace std; vector v[21];int book[21];int ttime

2016-04-27 21:35:33 1653

原创 BestCoder Round #81

只会做前三道啊,还有很长的路要走啊喂1001 Machine有一个机器,它有 m (2\leq m\leq 30)m(2≤m≤30) 个彩灯和一个按钮。每按下按钮时,最右边的彩灯会发生一次变换。变换为:1. 如果当前状态为红色,它将变成绿色;2.如果当前状态为绿色,它将变成蓝色;3.如果当前状态为蓝色,它将变成红色,并且它左边的彩灯(如果存在)也会发生一次变

2016-04-23 20:48:05 316

原创 PAT 1109.Group Photo

对数组进行排序,然后按行从中间插入,先向左后向右。最后是因为运算符重载出错了,积累经验了。(ˇˍˇ) #include#include#include#include#include#include#includeusing namespace std;#define MAX 10012struct node{ char name[10]; int h;

2016-04-23 12:05:37 927

原创 poj 2299 Ultra-QuickSort

和小朋友排队时一样的题,线段树+离散化+逆序数,注意求的是交换几次,最后结果除2.#include#include#include#include#include#include#includeusing namespace std;#define MAX 500010#define lson l,m,level*2#define rson m+1,r,level*

2016-04-22 11:03:13 345

原创 蓝桥杯 历届试题 小朋友排队

这道题目有两种做法求逆序数,一是归并排序,而是线段树或树状数组,两种都实现了一下。这道题还需要对数据进行离散化,注意的地方写在注释里了。归并排序#include#include#include#includeusing namespace std;#define MAX 100010int a[MAX];int b[MAX];struct nod

2016-04-21 17:23:04 1744

原创 PAT 团体程序设计天梯赛-练习集 题解(凑零钱,堆栈,社交集群)

开始准备cccc(cry)天梯赛了,第一周训练题,把官网挂出的训练题刷完了,对pat有了一点点的熟悉感。L1-1  就不说了。。。L1-2 打印沙漏 一个变量保存空格数,一个变量保存沙漏符号数,打印就行了,但这题话说wrong好几次啊,坑点是沙漏符号后面不打印空格,orz。。。#include#include#include#include#include

2016-04-16 22:06:32 5933 9

空空如也

空空如也

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

TA关注的人

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