题目:uva :10123 - No Tipping
题目大意:给出l, m, n 分别表示 长度为l 的杠杆, 重量为 m, 有n个物体放在上方。问每次从上面挑选一个物品移除,是否能使杠杆继续平衡。这个过程中都可以的话,就输出移除顺序(不唯一) 否则就输出 impossible ,一开始,这个杠杆就不平衡的情况也会是有的。因为杠杆也是有重量的。
解题思路;
1、这题先前我就不明白什...
                            
                            
                                分类:
其他好文   时间:
2014-05-13 23:00:26   
                                阅读次数:
414
                             
                         
                    
                        
                            
                            
                                1 题目大意给出一个n,求sum(gcd(i,j),014 #include 15 using 
namespace std;16 #define Max 100000017 18 long long phi[Max+5],ans[Max+5];19 int 
prime[Max/3];20 bool....
                            
                            
                                分类:
其他好文   时间:
2014-05-13 22:40:58   
                                阅读次数:
251
                             
                         
                    
                        
                            
                            
                                1 /** 2 给定一个置换,看能不能存在一个置换A^2 = B 3 思路; 
循环节长度为偶数n的置换只能由循环节长度为长度2*n 的置换A*A 而变得。所以只需求出循环节,看循环节长度为偶数的个数是否为偶数个即可。。 4 训练指南 5 
**/ 6 #include 7 #include 8 ...
                            
                            
                                分类:
其他好文   时间:
2014-05-13 22:24:26   
                                阅读次数:
246
                             
                         
                    
                        
                            
                            
                                1 /** 2 给定一定范围求其内的素数 3 4 注意: 5 **/ 6 7 #include 8 
#include 9 #include 10 using namespace std;11 #define maxn 100000012 long long 
prime[500000];1...
                            
                            
                                分类:
其他好文   时间:
2014-05-13 19:50:13   
                                阅读次数:
242
                             
                         
                    
                        
                            
                            
                                题目:nest,嵌套
思路:思路想通了其实很简单:将负数压栈,遇到输入正数时,检查栈顶元素,如果栈顶是正数,则出栈,一直检查栈顶元素直到栈顶是负数,判断该数和栈顶负数是否为相反数,并判断出栈的那些正数之和是否小于该输入的正数(这个是满足题目中的相加小于m的条件)。如果满足,则栈顶负数出栈,输入的正数入栈。这样循环到最后,如果一直匹配则最后栈中只剩一个元素。    思路很清晰,但实现起来比较麻烦,...
                            
                            
                                分类:
移动开发   时间:
2014-05-13 07:23:00   
                                阅读次数:
361
                             
                         
                    
                        
                            
                            
                                题目:计算题给矩阵相乘次序所需的相乘次数。   我们已知的m*n和n*k矩阵相乘,得到的是m*k矩阵,但需要的相乘次数是m*n*k(开始当成了m*k %>_
思路:每个矩阵用结构体表示,有名字、行、列、需要计算的次数。矩阵相乘的过程用栈来模拟。遇到左括号(,压栈这是自然的。遇到一个矩阵时,检查栈顶,如果栈顶元素是左括号,则压栈,否则就是矩阵,则比较栈顶矩阵和输入矩阵是否匹配,如果匹配则修改栈顶矩...
                            
                            
                                分类:
其他好文   时间:
2014-05-13 07:13:42   
                                阅读次数:
273
                             
                         
                    
                        
                            
                            
                                思路:先读入的一列是原始串,后读入的一列是目标串。最少操作次数的方式是,从下到上,只对原始串进行删除而不放到最上面能得到的目标串的以最下元素开头的最长子串,然后将目标串剩余的那些按序放在最上方,即按由下到上的顺序输出即可。
Code:
//#define LOCAL
#include
#include
#include
char name[210][90];
char target[210]...
                            
                            
                                分类:
其他好文   时间:
2014-05-11 21:42:42   
                                阅读次数:
310
                             
                         
                    
                        
                            
                            
                                题意:417 - Word Index
题意:每个字符串按题目中那样去映射成一个数字,输入字符串,输出数字
思路:这题还是比较水的,由于一共只有83000多个数字,所以对应一个个数字去映射就可以了,注意字符串进位的情况处理即可
代码:
#include 
#include 
#include 
#include 
using namespace std;
char str[10];
ma...
                            
                            
                                分类:
其他好文   时间:
2014-05-11 20:49:23   
                                阅读次数:
428
                             
                         
                    
                        
                            
                            
                                题目链接:10497 - Sweet Child Makes Trouble
题意:n个物品,原来物品属于一个地方,现在要把物品重新放回去,问能放几种使得每个物品都与原来位置不同
思路:递推,一开始随便搞了个二维状态,dp[i][j]表示i个物品,有j个位置不同,那么dp[n][n]就是答案,递推式为:
dp[i][j] = 1 (j == 0)
dp[i][j] = (j - 1) * ...
                            
                            
                                分类:
其他好文   时间:
2014-05-11 20:25:48   
                                阅读次数:
433
                             
                         
                    
                        
                            
                            
                                思路:简单的匹配操作,利用栈。
Code:
#include
#include
char stack[135];
int main()
{
 int n;
 scanf("%d",&n);
 getchar();
 while(n-->0)
 {
  memset(stack,0,sizeof(stack));
  char c;
  int top=0;
  int flag=1;...
                            
                            
                                分类:
其他好文   时间:
2014-05-11 20:19:34   
                                阅读次数:
376