Problem DescriptionThere is a town with N citizens. It is known that some pairs of people are friends. According to the famous saying that “The friend...
                            
                            
                                分类:
其他好文   时间:
2014-07-27 22:26:19   
                                阅读次数:
199
                             
                         
                    
                        
                            
                            
                                并查集的水题,比赛时怎么都AC不了,后来发现是没有考虑先3 2 后1 2的情况,下次注意!#include#include#includeusing namespace std;int x[30010];int k[30010];int num[30010];int find(int y){ ...
                            
                            
                                分类:
其他好文   时间:
2014-07-27 22:18:59   
                                阅读次数:
228
                             
                         
                    
                        
                            
                            
                                题目来源:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1549 并查集,求出每个friends集合,然后再计算每个集合friends个数,求出最...
                            
                            
                                分类:
其他好文   时间:
2014-07-27 22:01:29   
                                阅读次数:
234
                             
                         
                    
                        
                            
                            
                                http://blog.csdn.net/metaphysis/article/details/6926997先向作者表达一下敬佩吧,十分巧妙地利用了状态压缩。这道题有点组合数学的味道,当一个格子选后,就把行最大值与格子值相等的行标志位置1.这样,当111111111111即是求的状态了。这样,可以...
                            
                            
                                分类:
其他好文   时间:
2014-07-27 21:46:20   
                                阅读次数:
362
                             
                         
                    
                        
                            
                            
                                #include
#include
#include
#include
#include
#include
using namespace std;
const int maxn = 1000;
char s[maxn];
bool failed;
vector ans;
struct node
{
    bool have_value;
    int v;
    node *left,*...
                            
                            
                                分类:
其他好文   时间:
2014-07-27 11:54:43   
                                阅读次数:
198
                             
                         
                    
                        
                            
                            
                                UVA 10410 - Tree Reconstruction
题目链接
题意:给定一个树的dfs序列和bfs序列,求出这颗树
思路:拿dfs的序列,分成若干段,每一段相当一个子树,这样就可以利用bfs的序列去将dfs的序列分段,然后利用一个队列去存放每一段,不断求出子树即可。一开始以为parse tree一定是二叉树,原来不一定啊。
代码:
#include 
#i...
                            
                            
                                分类:
其他好文   时间:
2014-07-27 11:49:23   
                                阅读次数:
155
                             
                         
                    
                        
                            
                            
                                我今天做的这叫什么题……
今天这个题直接跪了,一看十六进制直接懵了。。
然后在csdn上竟然发现了身边直系学长写的解题报告,然后问了一下解题的思路。然后写出来的代码,想要测试数据吗吧哈哈
给一组最基本的~
5 3
fff
f0f
fff
f0f
fff
输出应该是K
AC代码如下:
#include
#include
#include
#include
using name...
                            
                            
                                分类:
其他好文   时间:
2014-07-27 11:41:10   
                                阅读次数:
313
                             
                         
                    
                        
                            
                            
                                题目链接:uva 1444 - Knowledge for the masses
题目大意:给出R和L,R表示有R行,L表示一行的最大长度。
对于每一行,给出n,然后是n个数,arr[i]为0表示空格,长度为1,否则表示书架,长度为arr[i]。现在人要从上边走到下边,问说最少移动几个书架,并且输出可以通过的路径坐标。
解题思路:c[i]表示第i个坐标有多少行可以通过,当c[i]==...
                            
                            
                                分类:
其他好文   时间:
2014-07-27 11:37:46   
                                阅读次数:
214
                             
                         
                    
                        
                            
                            
                                UVA 246 - 10-20-30
题目链接
题意:给52张的扑克堆,先从左往右发7张牌,之后连续不断从左往右发7张牌,如果有牌堆形成了以下3种情况(按顺序判断):
1、头两张+尾一张和为10或20或30
2、头一张+尾两张和为10或20或30
3、尾三张和为10或20或30
就把这三张牌拿走,放到总牌堆底(这步要不断执行直到不再满足条件或牌堆没了)
如果有一个牌堆因为这个...
                            
                            
                                分类:
其他好文   时间:
2014-07-27 11:22:52   
                                阅读次数:
202