自定义博客皮肤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)
  • 收藏
  • 关注

原创 欢迎使用CSDN-markd

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I...

2018-03-07 10:22:17 162

原创 N皇后问题初探

问题简述在n*n的棋盘上放n个皇后,使其互相不能进行攻击,问共有几种放法。

2017-07-22 01:21:28 263

原创 USACO-Section2.1 Sorting a Three-Valued Sequence[排序]

2017-7-14题目一串由1,2,3组成的数字,用交换的方法从小到大排序,问最少交换次数。题解我用了一个表,把队列分3块吧,每个数有它应该在的位置,s[i][j]=n表示数字i有n个在数字j的位置上。那么i=j的就是已经在位置上了,ij互换的比如说s12和s21,取其中小的一个,表示两个数互换一次就能两个都到位。相同地s13和s31,s23和s32都是这么操作。 互换完后,剩下的数是三个数刚好形

2017-07-14 23:43:35 278

原创 USACO-Section2.1 Ordered Fractions[其他]

2017-7-14题目从小到大的顺序输出分母小于n的最简真分数。题解用了个结构体,分母从1到n分子从1到分母,所有情况里面,把最简分数,也就是分子分母最大公因数为0的挑出来放到结构体数组里,然后按照大小排序,没了。 为什么要用结构体呢,因为写一个cmp函数就可以用sort直接排序了。 本来我还在想这个精度的问题,但是分母最大160应该没什么问题。如果精度不够,那么排序的时候就不能直接除了,而是比

2017-07-14 23:31:16 276

原创 USACO-Section2.1 The Castle[bfs]

题目输入城堡的长和宽,然后长*宽个数据表示每个单元墙的情况,1西2北4东8南,0-15就可以表示任何一种围墙的情况。要求计算房间数,最大房间面积,凿掉某一堵墙后可能形成的最大房间面积以及这种情况下所凿的墙。

2017-07-14 23:21:18 405

原创 USACO-Section1.3 Combination Lock[其他]

题目:为了防止聪明的牛逃跑,农场主买了一把劣质密码锁(三个数字轮盘可以转的那种),只要数字和本来的密码相差2个距离以内就算是匹配。输入n表示数字轮盘上共有n个数字,再输入6个数,分为两组,分别代表农场主设置的密码和锁自带的密码。如果牛旋转数字轮盘,匹配了其中一组,就可以打开锁。 例如:输入 50 1 2 3 5 6 7,则输出249。详情: 1,1,1 2,2,4 3,4,2 4,4,5

2017-05-31 16:52:14 266

原创 USACO-Section1.5 Superprime Rib[其他][暴力枚举]

2017-5-30题目寻找超级素数,比如7331,本身是素数,733也是,73和7都是,那么它就符合条件。比如四位数的超级素数有: 2333 2339 2393 2399 2939 3119 3137 3733 3739 3793 3797 5939 7193 7331 7333 7393 输入n表示n位数,输出所有可能。题解有了上一题的经验,我根本就不想搞什么素数

2017-05-30 16:04:08 292

原创 USACO-Section1.5 Prime Palindromes[其他]

2017-5-30题目输入两个数表示上限下限,在此范围内输出所有既是素数又是回文数的数。题解看起来很简单,但是最大范围是一亿。限定时间是一秒,所以枚举每一个数字分别进行判断的方法超时。而且限定空间,开个一千万的数组都不行,也就不能使用素数表。所以很惭愧,看了一些别人的题解,最后使用了构造回文数然后判断素数的方法。(不会算复杂度,但是最后耗时很小)代码/*ID: xcwhkh1LANG: C++

2017-05-30 15:55:12 348

原创 USACO-Section1.5 Number Triangles [其他]

2017-5-29题目输入n表示下面的三角形有n行,然后输入一个阶梯型数字三角,问从顶开始向下(两种选择)到底部经过的路径上的数字之和最大为多少。样例5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 输出 30题解把每条路径都找出来好像很烦,所以我没有用这种方法,我想到,每一个数可以由其上方左右两个数字前往,所以

2017-05-30 15:49:51 202

原创 USACO-Section1.4 Mother's Milk

2017-5-29题目输入三个数abc表示三个牛奶瓶子大小,开始时c瓶中装满牛奶,倒牛奶必须将瓶子倒空或倒满,问当a是空的时,c中牛奶可能的取值。样例2 5 10 输出 5 6 7 8 9 10题解刚开始我想采取”人脑算法“,后来放弃了,然后就使用了模拟的方法,无非就6种倒的情况,递归即可,用一个数组记录a和b中的牛奶数(总和是不变的)来判断情况是否出现过。 这里递归是要另外开一个数组保存变化

2017-05-30 15:39:29 241

原创 USACO-Section1.4 Arithmetic Progressions[其他][暴力枚举]

2017-5-27题目输入n和m,寻找等差数列,满足长度为n,其中的每一项都可表示为a^2+b^2的形式,其中0<=a,b<=m,输出所有满足条件的等差数列的首项和公差,按公差从小到大排列。

2017-05-30 15:26:03 202

原创 USASO Section1.1Your Ride Is Here[其他]

2017.5.18题目:输入两个由大写字母组成的字符串,A~Z分别转换为1~26,然后将其累乘,得到的两个乘积如果mod 47后相等则输出GO,否则输出STAY SAMPLE INPUT (file ride.in)#COMETQ HVNGAT OUTPUT FORMATA single line containing either the word “GO” or the word “STA

2017-05-28 12:18:42 257

原创 USACO-Section1.3Ski Course Design[其他]

2017-05-24题目输入n,然后输入n个数表示山头的高度。你要铲平或者填土使得任意两山高度不能相差超过17,变动k单位高度需要k^2的钱,计算最少需要多少钱。题解暴力搜索代码/*ID: xcwhkh1LANG: CTASK: skidesign*/#include <stdio.h>#include <string.h>int main () { FILE *fin=fop

2017-05-28 11:47:00 218

原创 USACO-Section1.3Wormholes[其他]

2017-05-25题目输入N表示有N个虫洞,然后N组数据表示虫洞的坐标。有一只奶牛可以也仅可以向x轴正方向移动,所以当虫洞满足一定条件时,它从某个点出发就可能陷入无限循环中。你需要考虑到虫洞的每一种两两配对情况,并且计算出在多少种情况下这只奶牛可能陷入无限循环。

2017-05-28 11:38:32 295

原创 USACO-Section1.3Prime Cryptarithm[其他]

题目:输入一个n,输入n个数,用其中的数填入如下的竖式中,当然首数字不能为0,计算满足条件的情况有几种。 * * * x * * ------- * * * * * * ------- * * * *题解:首先对乘数进行全排,这道题数据量小,最多10^5组,而且没有用递归或

2017-05-24 15:13:21 266

原创 USACO-Section1.3 Combination Lock[其他]

题目:为了防止聪明的牛逃跑,农场主买了一把劣质密码锁(三个数字轮盘可以转的那种),只要数字和本来的密码相差2个距离以内就算是匹配。输入n表示数字轮盘上共有n个数字,再输入6个数,分为两组,分别代表农场主设置的密码和锁自带的密码。如果牛旋转数字轮盘,匹配了其中一组,就可以打开锁。例如:输入 50 1 2 3 5 6 7,则输出249。详情:1,1,1 2,2,4 3,4,2 4

2017-05-24 14:53:47 180

原创 [usaco]Barn Repair题解

题目:牛棚坏了,输入m表示共有m块木板给你用,长度是任意的;再输入一个s表示总牛棚数(虽然我确实没有用到);然后输入c表示共有c头牛,接下去是c个数表示这些牛分别呆在哪个牛棚里。请你计算最少需要用木板覆盖几个牛棚的大门才能把牛都关住咯。直接在此举例,你有4块木板,共有50个牛棚(……),其中有18头牛,分别在3 4 6 8 14 15 16 17 21 25 26 27 30 31 40 41

2017-05-21 17:24:24 252

原创 [usaco]Mixing Milk题解

题目:输入n和m表示需要n数量的牛奶,有m个商人提供。然后输入m组,每组两个数,分别代表单价和能提供的数量。样例:SAMPLE INPUT (file milk.in)100 55 209 403 108 806 30INPUT EXPLANATION100 5 -- MMM wants 100 units of milk from 5 farmers5

2017-05-21 17:17:10 342

原创 [usaco]Dual Palindromes题解

题目:输入n和s,表示输出n个比s大的数(有小到大就好了),这些数在2-10内至少有两个进制是回文数。题解:有了上一题的进制转换和判断回文数,可以说没有什么别的好说了……这道题才2-10进制,单独做的话甚至可以不使用数组。然而我还是把上道题的相关部分直接拿来用了。代码:/*ID: xcwhkh1LANG: CTASK: dualpal*/#include

2017-05-21 17:10:46 232

原创 [usaco]Palindromic Squares题解

题目:输入一个n,计算n进制下1-300(10)的平方有多少个回文数并且输出。题解:一个进制转换,一个判断回文数。都用字符数组。可以说没什么特别好说的……有一个特别的问题,就是说要把文件指针定义成全局变量,在主函数中初始化,然后才能在非主函数中使用。代码:/*ID: xcwhkh1LANG: CTASK: palsquare*/#include #i

2017-05-21 17:04:23 282

原创 [usaco]Name That Number题解

题目:每只奶牛有一个数字编号,现在给他们取名字,数字对应字母如下:2: A,B,C 5: J,K,L 8: T,U,V3: D,E,F 6: M,N,O 9: W,X,Y4: G,H,I 7: P,R,S (没有Q和Z)那么比如说编号为4734的奶牛一共可以有81个名字,然而题目还给了一个dict.txt文件,里面有四千多名字供你选择,

2017-05-21 16:53:03 339

原创 [usaco]Transformations题解

题目:输入一个数字n表示n阶方阵,然后输入两个n阶方阵(就俩符号@和-)分别表示起始状态和结束状态。共有7种操作,如下所示#1: 90 Degree Rotation: The pattern was rotated clockwise 90 degrees.#2: 180 Degree Rotation: The pattern was rotated clockwise 180

2017-05-21 16:39:56 383

原创 [usaco]Milking Cows题解

题目:输入一个n(题解:想到一个类似的路边种树的问题,于是就建立一个总的数组,初始为0,输入后把两个数之间的元素赋值为-1(为什么是-1,因为本来用的是Memset,只能是1和-1,但是总是有错,于是最后还是用了for循环,但是-1没改。)最后再整个数组(从第一个开始时间到最后一个结束时间)过一遍,仍然是分别计算最长连续相同子列长度。代码:/*ID: xcwhkh1LA

2017-05-21 16:29:26 459

原创 [usaco]Broken Necklace题解

题目:给出一个字符串,示意为一串项链(闭合的),长度为n,r表示红色珠子,b表示蓝色,w表示白色(可蓝可红),从任意一处切开,从两端点开始分别取相同颜色的珠子,并求珠子的最大值。(不同的切法有不同的两端,而因为是最大值,显然两端的颜色是不同的)样例:输入:29wwwbbrwrbrbrrbrbrwrwwrbwrwrrb输出:11分析:从最后1,2个之间切开则左侧wrw

2017-05-21 16:07:34 546

原创 [usaco]Friday the Thirteenth题解

题目:输入一个年份n,统计从1900年开始的n年中每个月13号中,周一周二……各有多少个。例如输入20,表示1900到1919二十年240个月的13号中,分别有36 33 34 33 35 35 34 个星期六,星期日,星期一……。题解:本体数据不大,故采用模拟日期,即一天一天过去,碰到13号就把对应星期几的数组元素+1 。首先根据年份计算闰年,然后计算某年某月的天数,二月为28+ye

2017-05-21 15:50:09 335

原创 [usaco]Greedy Gift Givers题解

题目:输入n以及n个人的名字,然后进行n轮送钱……每轮输入付钱者姓名,收钱人数,总金额,然后输入收钱者姓名。最后输出每个人的资产变化结果(初始为0)。SAMPLE INPUT (file gift1.in)5davelauraowenvickamrdave200 3lauraowenvickowen500 1daveamr150 2vickowen

2017-05-19 21:04:51 347

原创 [usaco]Your Ride Is Here题解

题目:输入两个由大写字母组成的字符串,A~Z分别转换为1~26,然后将其累乘,得到的两个乘积如果mod 47后相等则输出GO,否则输出STAYSAMPLE INPUT (file ride.in)COMETQHVNGATOUTPUT FORMATA single line containing either the word "GO" or the word "STAY

2017-05-19 20:54:51 262

空空如也

空空如也

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

TA关注的人

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