自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

TO-BE-BEST-ACMER的专栏

比赛永远不会结束,我永远在路上

  • 博客(66)
  • 资源 (2)
  • 收藏
  • 关注

原创 博客搬家

各位关注我的朋友们!我的博客搬家到http://www.luckygong.cn/啦,自己新开的域名,其实早就在那边写博客了,但是由于域名一直没通过备案,所以一直没有公布。以前总是觉得自己开博客比较麻烦,但是自从自己试了一下之后,一发而不可收拾,还是很好的,自由度很大。能随时记录自己的成长轨迹,不光是写技术博客,还有很多自己的心里话,说给自己现在听,留给自己以后看,也给大家分享自己的点滴。

2015-08-26 09:56:46 548

原创 UVA-11210-Chinese Mahjong

训练指南24页的题 真是醉了 以为死循环了 原来是循环套的太多了 出一组样例 500S+ 递归尽量减少嵌套循环 会死 我的复杂度34*14*13*12*11*10*9*8*7*6*5*4*3*2*1 提前脑子不好用啊!!! 特别注意以后回溯千万别忘记调用函数后还要把变量改回来#include<stdio.h>#include<iostream>#include<vector>

2015-02-26 15:23:00 716

转载 位运算

位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。运算符 含义 描述& 按位与:如果两个相应的二进制位都为1,则该位的结果值为1,否则为0| 按位或: 两个相应的二进制位中只要有一个为1,该位的结果值为1^ 按位异或:若参加运算的两

2015-02-18 10:25:41 562

原创 UVA-1030-Image Is Everything

这个题先找出“看穿”的所有方块,拿下来,再不断找每一块在各个视图中颜色不一样的给删掉,直到没有为止,本题难点在于各个视图和小方块的坐标转化,还是看看刘汝佳的代码,太屌了,我用了两种转化,他一种就搞出来了,以下是我的代码:#include#includeusing namespace std;void kanchuan(char tu[][15][15],int m,int ti[][15

2015-02-16 21:06:48 468

原创 UVA-3708-Graveyard

我的代码:模拟搜索并移动:#include#include#includeusing namespace std;int main(){ int n,m; while(cin>>n>>m) { double before[1005],after[2005],ji = 10000.0/n,ans = 0; for(int i

2015-02-14 21:28:06 462

原创 UVA-213-Message Decoding

很久不码代码了,正如辉哥所说,再做出来一个题AC的冲动还是有的,明显很久不写了手生了,写的很麻烦还错误率很高。#include#include#include#includeusing namespace std;int main(){ char in[2550],zong[2550000],head[25500]; int store[80][1500],firs

2015-01-31 23:26:31 561

原创 数据结构第一章——线性表的实现

#include#include#include#define LIST_INIT_SIZE 100#define LISTINCREMENT 10#define OVERFLOW -2#define ERROR 0#define OK 1using namespace std;//typedef int Status;typedef struct{ int *ele

2014-10-08 17:14:03 915

转载 struct与typdef struct

分三块来讲述:  1 首先://注意在C和C++里不同    在C中定义一个结构体类型要用typedef:    typedef struct Student    {    int a;    }Stu;    于是在声明变量的时候就可:Stu stu1;(如果没有typedef就必须用struct Student stu1;来声明)    这里的Stu实际上就是

2014-09-17 15:48:39 772 1

原创 UVA-1394-And Then There Was One(约瑟夫环)

这个问题看了看,没看懂,搁置。约瑟夫环问题(Josephus)用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序。(约瑟夫环问题 Josephus)解法一(My Solution):思想:建立一个有N个元素的循环链表,然后从链表头开始遍历并记数,如果计数i==m(i初始为1)踢出元素,继续循环,当当前元素与下一元素相同时退出循环。代

2014-08-19 14:23:30 726

原创 UVA-11040-Add Bricks in the wall(规律、递推)

由于这个排列的行数和列数已经固定了,所以比较好找规律,由最下面一行和倒数第三行可以得出最下面一行完整的数排列,所以整个排列就可以递推出来了,my ugly code(我没用上题目中的后几行数据):#include#include#includeusing namespace std;int main(){ int n;cin>>n; while(n--) {

2014-08-18 14:14:45 864

原创 HDU-4470-Lights Against Dudely(暴力枚举)

这道题一开始看上去枚举就可以了,但是最后发现一共有12种情况,开始没数齐。最后怎么交都是WA,最后发现边界没处理,好吧,我也懒得弄了,先放在这。#include#include#include#include#include#includeusing namespace std;int grid[201][201],is_legal[201][201];int main

2014-08-16 12:44:42 1046

原创 11181-Probability

不得不说这道题十分猥琐啊,递归求解,我RE了接近20次,最后发现还是数组开小了。#include#include#include#include#includeusing namespace std;int biao[250000],n,r,zhi = 0;double p[250000],possi[250000];int v[250000][25];void dfs(in

2014-08-15 16:07:37 531

原创 UVA-1636-Headshot

其实这道题不至于写题解,写个题解我只是为了说:这道题十分简单,直接AC就可以了。(有了D神般的成就感)#include#include#include#includeusing namespace std;int main(){ char str[105]; while(cin>>str) { double p1,p2; //p1是不需要转

2014-08-15 10:50:15 1055

原创 hdu-1005-Number Sequence

这题真是神坑啊,经过递归、for循环的思路,发现都会超时,而程序不能再化简了,就想到规律,不过本题的规律不是很好找,随着a、b不同,周期也不同,这个题神坑的一点在于当n%zhouqi == 0的情况,需要单独挑出来,以下是AC代码:#include#include#include#include#include#include#includeusing namespace std

2014-08-13 11:25:27 571

原创 10.2计数与概率基础

1.加法原理:做一件事有n种方法,第i个步骤有pi种方案,则一共有p1+p2+……+pn种方案2.乘法原理:做一件事,完成它需要分成n个步骤,做第一 步有m1种不同的方法,做第二步有m2不同的方法,……,做第n步有mn不同的方法。那么完成这件事共有 N=m1×m2×m3×…×mn 种不同的方法。 和加法原理是数学概率方面的基本原理。3.容斥原理:在计数时,必须注意无一重复,无一

2014-08-12 18:43:41 837

原创 UVA-12716 - GCD XOR

【思路】a^b = c等价于a^c = b  所以枚举a和c,而a和c全部枚举肯定TLE,所以高效算法:通过c是a的约数这个关系来枚举会减小循环,必须要将c放在循环外面,因为c的情况比较少。其实本题就是要求:c=a-b(规律),c=a^b   以下是高神的AC代码,很好很强大:#include #include #include #include using namespace s

2014-08-12 16:36:35 1836

原创 UVA 10375 Choose and divide(唯一分解定理)

利用了随机数方法终于知道错在哪了,中间如果出现连乘还是会yi

2014-08-12 13:01:53 769

原创 UVA-12169 - Disgruntled Judge(数学+枚举)

#include#include#includeusing namespace std;int x[105];int main(){ int t,aa,bb;cin>>t; for(int i = 0;i < t;i++) cin>>x[i]; for(int a = 0;a <= 10000;a++) for(int b = 0

2014-08-12 10:39:32 619

原创 UVA-11582-Colossal Fibonacci Numbers!(规律+幂取模)

第一天学数论,做的第一道题,真是恶心死我了,caocaocaocao

2014-08-11 19:24:00 623

原创 10.1数论初步

1.欧几里得算法(辗转相除法)和唯一分解定理:①唯一性分解定理:算术基本定理,又称为正整数的唯一分解定理,即:每个大于1的自然数均可写为质数的积,而且这些素因子按大小排列之后,写法仅有一种方式。算术基本定理的内容由两部分构成:分解的存在性;分解的唯一性,即若不考虑排列的顺序,正整数分解为素数乘积的方式是唯一的。②辗转相除法:是求最大公约数的算法。辗转相除法基

2014-08-11 14:56:42 1209

原创 大数模板

该模板:最多支持500位数,重载了+、-、*、/、^、%、>、=、>>、#include#include#include#include#include #include using namespace std;#define MAXN 9999#define MAXSIZE 10#define DLEN 4class BigNum{private: in

2014-08-11 07:30:04 767

原创 Codeforces-Round 174(Cows and Sequence)(树状数组、高校算法)

这道题是树状数组的题,但是用普通数组也能整出来,没学树状数组,就用的普通数组,算是高效算法吧,下面是我的修改思路:1.一上来我写了如下代码:把每个新加进去的数压入vector,但是我在当t=1时,我的想法是将v[i]一个一个加上去,这样肯定会超时,而且我这个方法的sum是最后一起求的,这样多了个循环,又耗费时间。#include#include#include#include#in

2014-08-08 11:45:47 736

原创 6.2单链表

1.特征:①链表中的元素个数可以根据需要增加和减少,不像数组,在声明之后就固定不变;②元素的位置可以变化,即可以从某个位置删除,然后再插入到一个新的地方;2.组成:指针存放下一个结点的地址3.基本操作:(1)创建链表是指,从无到有地建立起一个链表,即往空链表中依次插入若干结点,并保持结点之间的前驱和后继关系。(2)检索操作是指,按给定的结点索引号或检索条件,查找

2014-08-07 21:08:04 895

原创 UVA-12325-Zombie's Treasure Chest

只有两种物品,想到了贪心,将价值与体积比大(称为价值比)的优先放入。但体积限制,这样还不可以,会有剩余空间,使得这样的贪心策略并不是最优的,下面是写的贪心的WA代码:#include#include#include#includeusing namespace std;int main(){// freopen("out.txt","w",stdout);

2014-08-07 20:06:46 588

原创 UVA-11572-Unique snowflakes

#include#include#include#includeusing namespace std;int snow[1000005];int main(){ int n;cin>>n; while(n--) //有n个案例 { int m,l = 0,r = 0,maxn = 0; //确定初始左右指针 cin>>m;

2014-08-07 13:52:57 569

原创 UVA-11054-Wine trading in Gergovia(模拟+贪心)

首先这道题的节点数太多了,达到10^5,所以不能用数组模拟啊,肯定TLE,所以用贪心算法,读取第一个结点,搬到第二个结点,剩下的和第二个结点合并,一起搬到第三个结点。。。。。。这个算法很好,每次看成只是邻居间买卖,下面是代码:#include#include#includeusing namespace std;int main(){ int n; while(cin

2014-08-07 09:55:35 894

原创 UVA-11134-Fabled Rooks (结构体排序+贪心)

这个题和八皇后问题比较像,但是在选位置之前一定要进行排序,让靠左上的优先选择位置,这块脑残没想到!好了,这道题没代码贴。

2014-08-06 17:17:15 710

原创 1152 - 4 Values whose Sum is 0(好用的hash标记,多重循环简单化)

不得不说这个题就是炫酷啊!首先说一说思路吧,是这么想的:1.弄四重循环,爆破,明显会超时。2.为了处理多重循环,就枚举a+b+c,只需要在d中找到a+b+c的相反数即可,超时3.枚举a+b,只需要在c+d中找到a+b的相反数即可,TMD超时!4.循环只能优化到这个程度了,再优化就得用哈希表直接调用了。这个题的哈希表也是新的知识,由于本题a+b的值可能很大很大,所以以

2014-08-06 14:27:56 781

原创 UVA-120- Stacks of Flapjacks

这是一道一开始就没做出来的题,到xia

2014-08-06 11:52:41 481

原创 UVA-11093-Just Finish It Up

这道题有特殊之处,在模拟i站起点时,走到p站走不下去了,则tiaochuhou

2014-08-05 14:04:17 618

原创 5.2 STL初步

1.优先队列:

2014-08-05 11:37:29 902

原创 8.4 贪心法

1.背包问题:①最优装载问题:把物体重量从小到大排列,依次选择每个物体,只顾眼前,却能得到最优解。②部分背包问题:把物体的“价值除以重量的值”从小到大排序,一次选择每个物体(贪心只能对一个变量贪心,这是一种巧妙的转换)。③乘船问题:只让眼前的浪费最少。(注意是让什么最少,是让浪费最少!)2.区间相关问题(排序:排左边还是右边?):①选择不相交区间:②区间选点问题:③区间

2014-08-05 10:10:13 772

原创 UVA-1583 - Digit Generator

这是第三章课本例题,应该很简单,但是竟然TLE了,说明有坑啊,一开始shi

2014-08-04 17:24:29 632

原创 8.3递归与分治

1.棋盘覆盖问题:分治算法:①把棋盘分成四份  ②递归解决,当不能再分时返回  ③不用合并,边递归边打表就行在一个 2^k * 2^k 个方格组成的棋盘中,若恰有一个方格与其它方格不同,则称该方格为一特殊方格,称该棋盘为一特殊棋盘。显然特殊方格在棋盘上出现的位置有 4^k 种情形。因而对任何 k>=0 ,有 4^k 种不同的特殊棋盘。下图所示的特殊棋盘为 k=2 时 16

2014-08-04 15:10:16 545

原创 poj-3614-Sunscreen

#include #include #include #include #include#include#includeusing namespace std;struct cow{ int xiao,da; bool if_search; cow():if_search(false){}};struct sunscreen{ int spf

2014-08-02 16:18:52 480

原创 ZOJ-3508-The War

#include #include #include #include #include#include#includeusing namespace std;struct soldier { bool if_search; int xiao,da; soldier():if_search(false){}};soldier s[2509];int

2014-08-02 13:53:43 450

原创 8.2再谈排序与检索(包含所有的排序总结)

1.归并排序:按照分治法①②③

2014-08-01 15:57:28 553

原创 8.1算法分析初步

1.分治法:三个步骤:①划分问题:②递归求解:③hebin

2014-08-01 13:16:47 508

原创 7.4回溯法

1.八皇后问题://回溯解决n皇后问题#include #include #include #include#includeusing namespace std;int A[99],zhi = 0;void solve(int n,int *A,int cur){ if(cur == n) //当cur指向n时,跳出程序,这是说明到达底层,n行已经考虑完毕

2014-07-31 13:24:18 452

原创 UVA-10391-discuss Compound Words

把#include#include#include#include#includeusing namespace std;char str[120005][30];int main(){// freopen("out.txt","w",stdout); int n = 0; while(cin>>str[n]) { n++; }

2014-07-29 18:10:33 519

中科院(国科大)黄庆明模式识别与机器学习2017-2018试卷(兰艳艳、郭嘉丰、山世光).doc

中科院(国科大)黄庆明模式识别与机器学习2017-2018试卷(兰艳艳、郭嘉丰、山世光)

2018-05-18

HDUACM201303版_10搜索入门

HDUACM201303版_10搜索入门

2015-12-25

空空如也

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

TA关注的人

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