随笔分类 - acm
摘要:#includeusing namespace std;int main(){ int g,l,t; cin>>t; while(t--){ cin>>g>>l; if(l%g==0)//最大公约数一定是最小公倍数的因子 cout ...
阅读全文
摘要:1 /* 2 ID: neverchanje 3 PROG: TOJ2195 4 LANG: C++11 5 */ 6 #include 7 #include 8 using namespace std; 9 10 char cmd;11 int n,val;12 int main(){13 //...
阅读全文
摘要:解线性同余方程组的迭代法x=r1(mod a1)x=r2(mod a2)x=a1*t+r1x=a2*u+r2a1*t+a2*u=r2-r1解u,t令d=(a1,a2) c=r2-r1当仅当d|c时有解用extgcd解得a1*t'+a2*u'=d 中的t'和u'a1*(t'*c/d) + a2*(u'...
阅读全文
摘要:/*ID: neverchanjePROG:LANG: C++11*/#include#include#include#include#include#include#include#include#include#define INF 0Xfffffffff#define st_size (1>c...
阅读全文
摘要:hdu1021int main(n){ for(;~scanf("%d",&n);) if(n-2)%4==0) puts("yes"); else puts("no"); return 0;}View Codenefu115 方法跟上...
阅读全文
摘要:节约状态数,排除一些情况:poj3254 最多12*12的网格,按行递推的话至多有2^12次方的状态数 dp(i,S) = sum( dp(i-1,S') ) 前提是 S与S'不冲突 即(S&S'=0) 但是这样枚举S和S'就需要 2^24,这样就过大了 可以发现,一行中两两不相邻的时候有 S...
阅读全文
摘要:嵌套矩形先对矩形的长从大到小排列,长相同对宽从大到小排列(可证明不能不对宽排列),然后求LISdp[i] = max( dp[j] ) + w[i] ( j#include#include#include#include#include#include#include#include#include...
阅读全文
摘要:自己学校OJ上题目的结题报告在网上很难找,所以好歹先贴几个地址:http://acm.seu.edu.cn/oj校赛题: 特殊的树 这题貌似只能Kruskal,不能prim,虽然同是贪心,但前者每次取最短边,而后者每次取总权值增加最小的边#include#include#include#inclu...
阅读全文
摘要:poj2386 Lake Counting 简单题#include#includeusing namespace std;int n,m;char map[101][101];int dir[8][2] = { {1,0},{1,1},{1,-1},{0,1},{0,-1},{-1,0},{-1,-...
阅读全文
摘要:跟着训练赛做的,每道题都学到很多,这次的数据都比较好心,输入简单,思路容易想,但是代码都有点蛋疼hdu2845 Beans 二次DP/*ID: neverchanjePROG:LANG: C++11*/#include#include#include#include#include#include#...
阅读全文
摘要:感觉usaco的每道题都很不错,因为虽然简单但是都有点麻烦,很锻炼编程能力Your Ride Is Here纯水题/*ID: wutao161PROG: rideLANG: C++ */#include #include #include #include using namespace s...
阅读全文
摘要:题目链接http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1094//题目没搞懂-_-# 原来两个expression的时候必须要有括号,说白了就是单个矩阵的时候没有括号,其他情况一定都打了括号 //利用递归函数expressi...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2822#include#include#includeusing namespace std;int len,wid;char map[1010][1010];const int dir[4][2]={{...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2818//其实rank[x]也能表示x下面的元素个数,但为什么不用rank[x]呢,因为需要维护每个rank[x],而我们只希望有一个rank,即根节点的总子节点个数 //union操作最多3w,而fin...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2819//对于n*n矩阵的n行,我们要求每行都要有一个特别的1与其匹配,如果匹配数少于n,则输出-1//二分图的构造方法是 第i行的第j列有一个1,那就在ij之间连一条边,则map[i][j]=1(后来发...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2817//学习了,vc编译器下,64位数是 _int64 , g++下是long long //原来问题出在取余和二分上面 //q的k次方可以二分 ...
阅读全文
摘要:表面是TSP,其实不是,只是比较简单的数学,最简单的方法就是直接画图,一开始找到奇数行的时候最短路径为a*b,但是偶数行的时候感觉比较麻烦,但是实际上画了图以后才发现其实偶数行的最短路径不难找//从测试样例来看,最少的路径是所有的点数//但是画过图以后就会发现 //奇数行的时候可以达成最少路径为点数...
阅读全文
摘要://a*b指的是一行b个元素 //DFS //如果存在X则有1*12,否则为0,且1,2,3,4,5,6都不存在,如果有一个'O'则12*1不存在 //检验b=6时,对每一个ch[i]进行检验,判断ch[i]=='X'且ch[i+6]=='X',如果6不存在的话,2,3一定也不存在(但是代码上没写)...
阅读全文
摘要:第一次不是以学为目的的做题,之前的题都是看了基本算法和模板代码以后去做的,所以这次非常有挑战性, 当然,这种难度还是轻松把我打败了A是hdu3088 WORM ,一道hash判重+BFS,一开始不会hash判重,更别说三进制hash了,那天正好看了lrj的书,里面一道八数码跟这题差不多,于是就硬写了...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1042hdu坑了,这题不优化过不了//一个长度较短的数乘与一个大数的乘法 //TLE了,刘汝佳的算法也需要优化,因为即使超过了f的位数,循环仍在进行,而算法没有求f的位数 //f=f*i之后位数增加,超出...
阅读全文

浙公网安备 33010602011771号