自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

GejinZ

Be serious.

  • 博客(15)
  • 资源 (1)
  • 收藏
  • 关注

原创 UVA 10305 - Ordering Tasks 很简单的拓扑排序题目。(简化了一下的方法)

刚才AC了这道题并发表之后,想着拓扑排序这个东西虽然还算明白也能用起来,但是自己写的话还是不能很好的写出来,所以就决定借着这道题目的机会看一下拓扑排序的工作过程,最后得到更深一步的理解。在学习的过程中,就针对这道题目来说,拓扑排序算法中的部分代码是用不到的,放在上面反而会让代码变得有些不好理解,所以就去掉了那些,让拓扑的过程变得更简练一些:#include#includeusing n

2014-03-31 17:33:05 752

原创 UVA 10305 - Ordering Tasks 很简单的拓扑排序题目。

在做某件任务前必须先完成另一件任务,就是一个任务先后的问题。其实和拓扑排序例题中的从小到大排序的问题在本质上一模一样,连一点变化都没有。第一次提交WA了一次,因为有个二维数组忘记了清零……果然是太二了,连这都能忘……很简单,可能有看过立体不明白的或者是弄个不清楚怎么写的,可以看一下代码参考一下:#include#includeusing namespace std;cons

2014-03-31 16:54:10 814

原创 uva 10004 Bicoloring

这道题目,我最开始的时候看了一遍没有看懂让做什么。其实认真读体会在下面这段话里差不多看出让干些什么。That is, if one can assign colors (from a palette of two) to the nodes in such a way that no two adjacent nodes have the same color. To simpli

2014-03-31 16:39:32 1514

原创 439 - Knight Moves (用的 bfs 做的,个人感觉bfs更适合这道题)

个人理解像这种在图里面寻找最短路线的问题,用bfs更靠谱。宽度优先搜索,能够一层一层往下搜,更方便计数step。dfs 则思路简单,代码难度小一些,在许多情况下更适合遍历。方法就是比较普遍的方法,很好理解的。看过刘汝佳的书就能做出来。#include #include #include using namespace std; int a1,a2,b1,b2;

2014-03-31 14:32:09 807

翻译 uva 101 - The Blocks Problem 练习代码控制能力的题目吧 ,思路转化为代码,实现自己的比较复杂的想法

#include#includeusing namespace std;int place[25];int stack[25][25];int top[25];void init_place(int a){ int block,id=place[a]; while(stack[id][top[id]]!=a) { block=stack[id]

2014-03-12 23:36:43 747

翻译 UVA 400 unix is

#include #include #include int cmp(const void *a,const void *b) { return strcmp((char *)a,(char *)b); } int main() { int i,j,k,max_len,n; int h_num,l_num,num_len;

2014-03-12 00:13:22 837

原创 UVA 11111 - Generalized Matrioshkas

#include#include#include#include#includeusing namespace std;struct toy{ int Size; int vol;}a[100000];int main(){ int temp; char ch; int t=0;int flag=0; while(scanf("%

2014-03-10 23:24:31 995

原创 可以节省一点时间,亲身经历。。。

用while(T--)不要用for(i=1;i

2014-03-08 12:20:41 541

翻译 Uva 10815 - Andy's First Dictionary

按字典序把所给的一段话中的单词排序。要考虑到一些影响因素,比如标点符号以及标点符号的位置会对我们的排序所造成的影响;所以在读取这一段话时并不能简单的就用scanf("%s")来读取。可以采取下面的方法用字符的形式来读取输入,然后再想办法将其转化为我们需要的不含有标点符号并且统一换成小写字母的字符串:while(scanf("%c",&t)==1) {

2014-03-02 19:00:51 710

原创 10916 - Factstone Benchmark(还有什么比学完之后的应用更爽?)

在做过 帽子里的猫 之后,发现这道题就很简单了。题意很好理解,有n=(year-1960)/10;找到最大的N使N!不大于2^(n+2);即N!2^(n+2);很明显直接模拟会溢出,所以很明显想到了取对数:而在  帽子里的猫  那道题目中我已经讲过了log10(N!)的妙处。我的代码,如下:#include#includeint main(){ int yea

2014-03-02 03:07:22 737

翻译 帽子里的猫

假设K为帽子里编出的次数,M是最后的工作猫数,H是最后的高度。则根据题意会有:(1/(n+1))^K=1  和  n^K=M;①联立消去K,会有 ln(H)/ln(M) == ln(N+1)/ln(N);然后用枚举的方法找到符合上述条件的N,代码如下: while (fabs(log(N)/log(N+1) -log(M)/log(H)) >1e-10) ++N;

2014-03-02 02:26:50 921 1

翻译 病毒分列 式的计算~the cat in the hat uva 107

假设K为帽子里编出的次数,M是最后的工作猫数,H是最后的高度。则根据题意会有:(1/(n+1))^K=1  和  n^K=M;①联立消去K,会有 ln(H)/ln(M) == ln(N+1)/ln(N);然后用枚举的方法找到符合上述条件的N,代码如下: while (fabs(log(N)/log(N+1) -log(M)/log(H)) >1e-10) ++N;

2014-03-02 02:25:29 951

翻译 多项式的除法

设p(x)的各项系数为p[max],q(x)的各项系数为q[max];可以知道q(x)的最高次项的系数q[0]=p[0];关键的公式是1.      for (int i = 1; i 2.                  q[i] = p[i] + k * q[i - 1]; 代码为 #include int p[

2014-03-02 01:22:03 1235

翻译 uva 10061: How many zero's and how many digits?

对于这么大的数字,要想知道他有几位数,末尾有多少个零,很明显不能按常规的方法来做。一、求末尾有几个零的代码:int ZeroNum() { memset(factor_count,0,sizeof(factor_count)); for(int i=2; i<=N; i++) { int tmp=i; f

2014-03-02 01:16:19 857

转载 由N*N的正方形中有几个正方形,有几个长方形 而想到的

在N边的正方形,正方体,超正方体(4维平面),内分别有多少个正方形(体,超体),长方形(体,超体);对于N边的正方形,所含有依次从1~N边长的正方形为:N*N+(N-1)*(N-1)+…………2*2+1*1;同理可知,正方体,超正方体,依次为从1到N的三次方和,四次方和。对于N边的正方形,所含的矩形的数目为I*J(其中I的范围是1~N,J的范围也是1~N)之和,即为(i*(

2014-03-01 00:27:33 3733

吉大 各种基本ACM必备算法基础

吉大 各种基本ACM必备算法基础

2014-01-05

空空如也

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

TA关注的人

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