ACM_做过的一些题
tt2767
杀人不如杀己
展开
-
最简单的DP问题3——hdu2191
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2191中文题。多重背包,并且用2进制来优化。 详情看注释,重点部分写的很详细了#include<stdio.h>#define max(a,b) ((a)>(b))?(a):(b)int t;int n, m;int value[105], weight[105], num[105];int d原创 2015-05-08 16:07:20 · 410 阅读 · 0 评论 -
hdu5327_Olympiad(数组前缀和)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5327题解:1.判重 (利用set或压成2进制) 2.前缀和,结果为 sum[b] - sum[a-1]#include<sstream>#include<string>#include<iostream>#include<algorithm>#include<cstdio原创 2015-07-30 17:55:13 · 1257 阅读 · 2 评论 -
hdu5328_Problem Killer(简单dp)
今天才知道长度为1或2的数组,既符合等差数列又符合等比数列。。。。dp【0】的初值赋为1,之后其他项赋为2,直接扫一遍,找出最大值就好了还学到了一点:判断等比数列的时候用双精度(double)除法去做,避免数据太大的时候int爆了,这里WA了好久。。。(逃#include<sstream>#include<string>#include<iostream>#include<algorithm原创 2015-07-30 19:57:14 · 603 阅读 · 0 评论 -
CodeForces 510B 无向图找环的两种方法(搜索与并查集)
题目连接:http://codeforces.com/problemset/problem/510/B解法:dfs 每次把父节点的值记录并传递下去,判断一下新达到节点: (1)没有走过 → 继续搜索; (2)走过&&不是父节点(对于本题步数也要>=4) → 找到环;并查集 每个节点映射成 i*m+j从起点开始分别把它下面与于右面的节点加进来,如果发现有节点已经在集原创 2015-08-13 20:58:14 · 1105 阅读 · 0 评论 -
hdu1166_敌兵布阵(线段树入门)
/////////////////////////////////////////////////////////////////////////////////////////////////////// 作者:tt2767 声明:本文遵循以下协议自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 查看本文更新与讨论请点击:http://blog.原创 2015-07-31 20:02:12 · 383 阅读 · 0 评论 -
uva10562——看图写树(树的先序遍历!)
妈蛋,这题坑了我2个多小时。。终于过了。。 做的时候主要在这几个WA点卡住了: 1.读取行数的时候忘记减去“#”的行数了 2.没有考虑到空树的情况 3.递归的时候没有判断右边界值‘\0’ 4.被样例误导了,以为节点只能是字母。。。。。。一个发现: 用 isspace() 或者 isalpha() 比手动判断要快! 本题解法: 在读取到节点的时候,如果发现下面有字符‘|’,把此节点当作根原创 2015-07-23 16:52:22 · 716 阅读 · 0 评论 -
uva1572——自组(World Final 2013,图论模型)
这题值得学习的几点: 1.输入匹配的代码十分优美! 2.把A+,A-映射成2n,2n+1做,然后通过(2n)^1 = 2n+1 , (2n+1)^1 = 2n 来反转,不得不说十分精妙!题解:由于正方形是无限的,把要去连接编号与被链接的正方形上的其他可扩展编号看成节点,被链接的正方形看成边,寻找次有向图的环。 题目中的例子: A- |->->->->->->->->->->A+|->->-原创 2015-07-23 20:10:37 · 2682 阅读 · 2 评论 -
uva725_一道水题(优化到了29ms)
可以用 n * fghij 去枚举 abcde 判重即可由于fghij 可能自身重复较多,可以先判掉,节省时间;如果不写成函数的形式还能更快一些,因为第二次判段中x,已经判断过了。书中的做法是把两个数字化成字符串去,排序后判断用时 123ms#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>///////原创 2015-08-17 17:50:43 · 706 阅读 · 0 评论 -
uva673_平衡的括号(网上写的好麻烦。。)
这就是个水题,本质上就是判断括号顺序,只要考虑下列几种错误的情况:1.)( 或】【 2.(【) 或【(】 3.((() 或 【】】】】或()))或【【【【【】简单来说,保持个数平衡,括号对称,没有夹杂的就好了#include<cstdio>#include<iostream>#include<cstring>int main(){ int n; scanf("%d",&n原创 2015-07-24 20:38:21 · 841 阅读 · 0 评论 -
uva712_S树
题解: 把查询的值看成二进制,转换成十进制之后去叶子里面找对应的值输出即可#include<cstdio>#include<cstring>#include<iostream>const int N = 100009;int change(char * s);//pow调用库中的也可,由于可能存在的精度问题,重写了一下int pow(int x, int y);void rev(char原创 2015-07-24 21:19:37 · 708 阅读 · 0 评论 -
hiho一下 第五十周(欧拉路径)50
/////////////////////////////////////////////////////////////////////////////////////////////////////// 作者:tt267 声明:本文遵循以下协议自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 查看本文更新与讨论请点击:http://blog.c原创 2015-06-14 18:42:41 · 665 阅读 · 0 评论 -
hdu4430_Yukari's Birthday(数学放缩+二分)
本题根据蛋糕中心放不放蜡烛可以转化为 k1+k2+……+kr=n或n−1 k^ 1 + k^2 + ……+k^r = n 或 n-1 已知:等比数列求和公式n=k(kr−1)k−1n = \dfrac{k(k^r-1)}{k-1}我们知道18 ≤ n ≤ 1012 由此可以求出来r最大是原创 2015-08-06 15:41:58 · 716 阅读 · 0 评论 -
uva10976_整数拆分(优化至3ms)
PS:刘汝佳代码仓库中这题的代码逗了,我交上去居然RE了。。。。(逃题解: 原书的意思是找出最大值于最小值枚举就好了,然而仔细观察的话就会发现,第一组分母较小的数的分母为k+1,而其他组数据这个数都 不是 素数,最后数据分母必为2*k,那么我们只要在非素数中查找符合条件的值即可。PS:我又写了一份暴力的,果断T了。。。。。。#include<cstdio>#include<cstdlib原创 2015-08-17 20:13:18 · 1043 阅读 · 0 评论 -
2015年东北四省区域赛——B题题解(Matrix)
这题其实比较水,由于相关算法还不太会,硬生生的给水过了,但有一个WA点让我们找了好久。。。。这题大致意思就是有一个矩阵A每一个元素的值都是行标列标之和(Aij= i+j ) 然后又两种操作: M x y u 就是把Axy的值改变为u Q x y u v 就是求(x,y)与(u,v)为对角线位置的子矩阵的值的和操作做多有1000个,M操作做多10个 矩阵的行与列 <= 1000 详解看AC代原创 2015-05-18 15:01:11 · 953 阅读 · 0 评论 -
uva140_dfs(回溯)最优性剪枝
题解: 1.原书中已经说明,如果两个节点的带宽 >= 最小带宽,无论如何也不可能比原解更优,应该剪掉。2.注意此题读入的时候一定要按 字典序 存储,这样计算出的最小值才是符合要求的3.注意strtok的用法#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>//////////////////////#inc原创 2015-08-20 08:53:17 · 1036 阅读 · 0 评论 -
uva1584_水题(环状串的处理)
我的方法是:用指针不断从头部向尾部转移值; 大白代码仓库中方法:利用模运算;My Code:#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>//////////////////////#include<iostream>#include<algorithm>#include<string>#inclu原创 2015-08-20 20:12:47 · 1556 阅读 · 0 评论 -
hdu4771_2013亚洲区域赛杭州站(状态压缩bfs)
/////////////////////////////////////////////////////////////////////////////////////////////////////// 作者:tt2767 声明:本文遵循以下协议自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 查看本文更新与讨论请点击:http://blog.原创 2015-07-28 14:35:13 · 625 阅读 · 0 评论 -
hdu4800_Josephina and RPG(二维状态dp)
/////////////////////////////////////////////////////////////////////////////////////////////////////// 作者:tt2767 声明:本文遵循以下协议自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 查看本文更新与讨论请点击:http://blog.原创 2015-07-29 21:47:47 · 468 阅读 · 0 评论 -
zoj3728_Collision(简单计算几何)
/////////////////////////////////////////////////////////////////////////////////////////////////////// 作者:tt2767 声明:本文遵循以下协议自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 查看本文更新与讨论请点击:http://blog.原创 2015-07-29 21:39:49 · 615 阅读 · 0 评论 -
最简单的DP问题2——hdu1114
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1114大致题意:有一个储蓄罐,你知道它存的钱重是多少,来估算它最少存了多少钱;解析看注释:#include<stdio.h>#define INF 9999999 //这个数不能太大#define N 50009#define max(a,b) ((a)>(b))?(a):(b)#define mi原创 2015-05-08 14:30:01 · 422 阅读 · 0 评论 -
hiho一下 第四十八周(拓扑排序的应用)48
/////////////////////////////////////////////////////////////////////////////////////////////////////// 作者:tt267 声明:本文遵循以下协议自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 转载请注明:http://blog.csdn.net原创 2015-06-04 17:22:15 · 447 阅读 · 0 评论 -
hiho一下 第四十九周(欧拉路的判定)49
/////////////////////////////////////////////////////////////////////////////////////////////////////// 作者:tt267 声明:本文遵循以下协议自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 转载请注明:http://blog.csdn.net原创 2015-06-06 22:09:32 · 507 阅读 · 0 评论 -
2015百度之星资格赛1004_放盘子
题目链接:http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=584&pid=1004仔细看给的提示和样例,如果小度能把第一个放进去,那么他必然赢,因为偶数边正多边形都是对称的,如果只能放进去一个也是小度赢,所以说。。。。#include<iostream>#include<algorithm>#include<mat原创 2015-05-25 15:21:47 · 489 阅读 · 0 评论 -
zoj 3785 What day is that day? 题解
题目地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3785我先写一个打表程序发现周期为294, 然后用快速幂求模的模板暴力一下就过了;有人用费马小定理把周期求出来了,不过我没大弄懂,弄明白再贴上来把。#include<stdio.h>#include<stdlib.h>#include<string.h>#de原创 2015-05-05 16:50:57 · 518 阅读 · 0 评论 -
hiho一下 第四十七周(拓扑排序)47
/////////////////////////////////////////////////////////////////////////////////////////////////////// 作者:tt267 声明:本文遵循以下协议自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 转载请注明:http://blog.csdn.net原创 2015-06-04 17:18:44 · 373 阅读 · 0 评论 -
2015百度之星资格赛1001_大搬家
题目链接:http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=584&pid=1001这题主要是找规律,组合数学和递推式。举个例子啊,987654321→912345678 我们从最小的单位——一个数开始考虑它的所有情况,共有两种: 1.不换位置 (4→4) 2.与其他数的位置对换(7→2,2→7)我们记共有i个数原创 2015-05-25 13:14:35 · 548 阅读 · 0 评论 -
2015百度之星资格赛1002_列变位法解密
题目链接:http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=584&pid=1002这题好麻烦啊,wa了好几次,开始的时候以为思路错了,换用一维数组存储矩阵去做,结果超时了,后来一想是忽略了正常的没有空的情况 ⊙▂⊙ ,加上之后就AC了。。。#include<stdio.h>#include<string.h>#原创 2015-05-25 11:21:34 · 667 阅读 · 0 评论 -
2015百度之星资格赛1003_IP聚合
题目链接:http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=584&pid=1003一道水题,就是有点麻烦,慢慢码就好。。#include<stdio.h>#include<string.h>#include<stdlib.h>#include<algorithm>#define INF 999999999u原创 2015-05-25 10:41:52 · 541 阅读 · 0 评论 -
2015百度之星资格赛1006_单调区间
题目链接:http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=584&pid=1006一道老题了,这题的思想原创 2015-05-25 10:39:02 · 491 阅读 · 0 评论 -
uva1600_巡逻的机器人(状态bfs)
/////////////////////////////////////////////////////////////////////////////////////////////////////// 作者:tt2767 声明:本文遵循以下协议自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 查看本文更新与讨论请点击:http://blog.原创 2015-07-26 16:18:46 · 588 阅读 · 0 评论 -
uva536_树的重建(由先序,中序历遍推出后续历遍)
/////////////////////////////////////////////////////////////////////////////////////////////////////// 作者:tt2767 声明:本文遵循以下协议自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 查看本文更新与讨论请点击:http://blog.原创 2015-07-25 14:45:56 · 804 阅读 · 0 评论 -
uva439_骑士的移动
/////////////////////////////////////////////////////////////////////////////////////////////////////// 作者:tt2767 声明:本文遵循以下协议自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 查看本文更新与讨论请点击:http://blog.原创 2015-07-26 14:37:18 · 619 阅读 · 0 评论 -
hdu5326_(优美的并查集解法)2015 Multi-University Training Contest 3(1011)
/////////////////////////////////////////////////////////////////////////////////////////////////////// 作者:tt2767 声明:本文遵循以下协议自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 查看本文更新与讨论请点击:http://blog.原创 2015-07-28 19:27:03 · 708 阅读 · 0 评论 -
zoj3726_2013长沙区域赛(二分查找+预处理)
/////////////////////////////////////////////////////////////////////////////////////////////////////// 作者:tt2767 声明:本文遵循以下协议自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 查看本文更新与讨论请点击:http://blog.原创 2015-07-29 19:30:33 · 743 阅读 · 0 评论 -
uva401_水题(映射)
原来一直都是一个一个switch来着,这回方便了。。。#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>//////////////////////#include<iostream>#include<algorithm>#include<string>#include <iterator>#incl原创 2015-08-20 18:12:03 · 446 阅读 · 0 评论