摘要:#include <stdio.h>#include <iostream>using namespace std;#define maxsize 1000000typedef struct Num{int a[maxsize];int len;}Num;int t;void Insert_List(Num *&l){int i, n;l=new Num;cin>>n;cin>>t;for(i = 0;i<n;i++){cin>>l->a[0];if(i!=n-1){for(int j = i;j>=0;j--
阅读全文
摘要:题目:Isaacpei有很多的魔方,他总是拿着一个叫做Pocket Rubik's Cube的魔方,其实就是一个2X2X2的魔方来装B。 玩魔方的人总是有强迫症的,那就是看到没有复原的魔方就想复原。 syssyd是一个爱卖萌的少年,他不会复原魔方,但是他也有强迫症,那就是打乱魔方! syssyd打乱方式表达如下:L,R,U,D,F,B分别表示把左面,右面,上面,下面,前面,后面顺时针转90°, l,r,u,d,f,b则是表示逆时针转90°。他总是写一串字母,然后按次序从头到尾打乱。 现在syssyd面前有很多复原了的的魔方,他迅速写下了很多串打乱,分别用来打乱不同的
阅读全文
摘要:其实线段树的数据结构没什么可说的,但是怎么用好它就有得说了。具体的来说就是:首先就是有段关系了,这个是第一位的。接着就是有大小关系了,这个是第二位的。再者就是数据量大,这个是次要的。只要满足了这三个条件,就是用线段树的时候了。如何理解段呢?比如说让你统计小于200的数据有多少个。这个就是段了。至于大小就是小于200的200了。(1)1 3 2 4 5 63 563 23 46 56 23 455 …… 888 这个例子是落在888以前的。(2)当然还是段中段,这个就不解释了。下面来贴出一道相关的题目。http://acm.swust.edu.cn/oj/contest/29/825/View
阅读全文
摘要:今天做了一道Jump题目,本以为是一道搜索的题目,没想到竟然用Floyd就轻松的解决了。 先来看看这个题目吧! Description There is n pillar, their heights are (A1,A2,A3,…An).you can jump at the top of the pillars. But you will lose abs(a[j]-a[i])*abs(j-i) power when you jump from i-th pillar to j-th pillar. At first you have m power. Can you jump f...
阅读全文
摘要:昨天看到了一句话让我对DFS算法有极深的感悟。这句话就是:DFS有三个条件:1.最深深度 2.结束条件 3.如何扩展。其实对于1, 2,两点,感觉不是问题的关键,第三点才是问题的核心。如何说呢?还是来结合一个实例吧,不然,很难说清楚。例题:有三个容量分别是A,B,C升的桶,A,B,C分别是三个从1到20的整数,最初,A和B桶都是空的,而C桶是装满牛奶的。有时,约翰把牛奶从一个桶倒到另一个桶中,直到被灌桶装满或原桶空了。当然每一次灌注都是完全的。由于节约,牛奶不会有丢失。写一个程序去帮助约翰找出当A桶是空的时候,C桶中牛奶所剩量的所有可能性。解题思路:每次最多无非有6种倒法,即a->b;a
阅读全文