![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
HDU
2845xlc
这个作者很懒,什么都没留下…
展开
-
hdu 4648
求一个数列中 去掉一些连续的数之后 不改变对m取余后的值就是求一个最长的连续子序列 对m取余后为0 我的方法可能比较水 #include#include#include#include #include #include #include #define maxn 100010using namespace std;int a[maxn];int main()原创 2013-08-06 21:07:39 · 677 阅读 · 0 评论 -
hdu 3646
DP 状态转移方程还是比较容易想到 关键问题是当前要攻击的怪兽的血量dp[i][j] = max(dp[i-1][j]+第i只鸟不使用double可杀死的怪兽数, dp[i-1][j-1]+第i只鸟使用double可杀死的怪兽数)dp[i][j]指前i只鸟使用j次double可杀死的怪兽数要将m更新为m,n中的较小值 因为最多使用n次double 因为这个一直wa#inc原创 2013-10-10 17:36:36 · 713 阅读 · 0 评论 -
hdu 4101
比赛的时候先是受以前一个圣神海的题目 用了两遍DFS 第一遍标记出围墙 第二遍求围墙外和每块围墙降为1所需的攻击次数 结果爆栈 改为BFS后AC 但是赛后看了学长的代码 ,一遍BFS 为何不过呢 ??#include #include #include #include using namespace std;int dx[5] = {1, -1, 0, 0}, dy原创 2013-09-24 19:57:04 · 677 阅读 · 0 评论 -
hdu 4726
贪心 不是很难 各种细节注意#include #include #include using namespace std;int num1[10],num2[10];int cc(int i, int j){ for(int k = 0; k <= 9; k++) { if( (k+i)%10 == j ) retu原创 2013-10-14 14:58:37 · 680 阅读 · 0 评论 -
hdu 1018
数学题 用的这个方法比较烂 g++超时 c++ 406ms/************************************************************************* > Author: xlc2845 > Mail: xlc2845@gmail.com > Created Time: 2013年10月16日 星期三原创 2013-10-16 21:01:58 · 547 阅读 · 0 评论 -
hdu 1233
最小生成树 本来挺简单 一个小错wa了好几遍 /************************************************************************* > Author: xlc2845 > Mail: xlc2845@gmail.com > Created Time: 2013年10月17日 星期四 17时22分原创 2013-10-17 18:00:21 · 506 阅读 · 0 评论 -
hdu 1176
简单DP 类似于在一个矩形中求最长路径/************************************************************************* > Author: xlc2845 > Mail: xlc2845@gmail.com > Created Time: 2013年10月24日 星期四 14时38分17秒原创 2013-10-24 15:20:49 · 509 阅读 · 0 评论 -
uva 437 hdu 1069
dp 将石块按三个面存入队列 按底面积排序 dp就最大高度 按嵌套矩形最长路做做法#include #include #include #include using namespace std;struct tone{ int x,y,z; void t(int a, int b, int c) { x = a; y原创 2013-07-30 16:47:53 · 595 阅读 · 0 评论 -
hdu 4712
看了大牛的解法 第一次知道可以产生随机数解题 在计算hamming距离时用了位运算 很简便/************************************************************************* > Author: xlc2845 > Mail: xlc2845@gmail.com > Created Time原创 2013-10-29 16:39:28 · 701 阅读 · 0 评论 -
hdu 1056
水题 ~~ 按题目要求直接判断~。/************************************************************************* > Author: xlc2845 > Mail: xlc2845@gmail.com > Created Time: 2013年11月05日 星期二 20时05分30秒 **原创 2013-11-05 20:42:36 · 813 阅读 · 0 评论 -
hdu 2940
简单的大数乘法,直接改16进制~~#include #include #include #include #include #define maxn 3010#define INF 0x7fffffff#define ull unsigned long longusing namespace std;int f[maxn], ans[110];void init(){原创 2014-01-13 21:15:01 · 647 阅读 · 0 评论 -
hdu 2196
树形dp本文出自 http://blog.csdn.net/shuangde800题目传送门题意:给出一棵树,求离每个节点最远的点的距离思路:把无根树转化成有根树分析,对于上面那棵树,要求距结点2的最长距离,那么,就需要知道以2为顶点的子树(蓝色圈起的部分,我们叫它Tree(2)),距顶转载 2014-02-28 20:10:01 · 632 阅读 · 0 评论 -
hdu 1166 树状数组 线段树入门
点修改 区间求和#include #include #include #include #include #include #include #include #include #include #include #include #include #define maxn 200010#define INF 0x7fffffff#define inf 10000原创 2014-03-01 13:16:16 · 729 阅读 · 0 评论 -
hdu 1754 线段树入门
线段树点修改 区间最大值查询#include #include #include #include #include #include #include #include #include #include #include #include #include #define maxn 200010#define INF 0x7fffffff#define in原创 2014-03-01 12:58:50 · 759 阅读 · 0 评论 -
hdu 3807
很好的思路啊 枚举有多少人有ipad原创 2014-04-29 12:50:34 · 619 阅读 · 0 评论 -
hdu 1698 线段树 区间修改
#include #include #include #include #include #include #include #include #include #include #include #include #include #define maxn 200010#define INF 0x7fffffff#define inf 10000000#defin原创 2014-05-22 20:39:00 · 587 阅读 · 0 评论 -
hdu 1272
并查集 要判断这个图是连通的 就是只有一个父节点#include #include #define maxn 100005int fa[maxn];bool ff[maxn];int findd( int x ){ return fa[x] == x ? x : fa[x] = findd(fa[x]);}void init(){ memset(ff,原创 2013-10-06 22:38:18 · 1176 阅读 · 0 评论 -
hdu 1213
简单并查集#include #include #define maxn 30005int fa[maxn],ans[maxn],n,m;int findd( int x ){ return fa[x] == x ? x : fa[x] = findd(fa[x]);}int main(){ //freopen("d://in.txt", "r", stdin);原创 2013-10-06 22:02:12 · 636 阅读 · 0 评论 -
hdu 3952
因为一个小错 不过 好不爽........#include #include using namespace std;struct Node{ int x, y;};class shap{public: int num; Node dian[22];} q[22];double getk(int x1, int y1, int x2, int y2原创 2013-08-16 19:11:15 · 564 阅读 · 0 评论 -
hdu 1087
动规 d[i]记录以第 i 个数结尾的最大值#include #include #include #define maxn 1010using std::max;int dp[maxn];int value[maxn];int main(){ int n,_max; while(scanf("%d",&n) == 1 && n) {原创 2013-08-06 21:12:00 · 557 阅读 · 0 评论 -
hdu 3682
将每个格子标记为 x*n*n+y*n+z 每个格子会有一个独特的编号 将它放入vector中 去重 我一开始用 set 超时#include #include #include #include #include using namespace std;int main(){ vector a; int t,n,m; scanf("%d",&t原创 2013-08-08 11:03:17 · 667 阅读 · 0 评论 -
hdu 4665
转载一下 用的搜索的代码 .......#include#include#includeint num[2100],weizhi[2100],m;int dfs (int last,int st,int cur){ int i,u,j,k; if(cur==m/2) return 1; for(i=st;i<m;i++) if(!weizhi转载 2013-08-08 17:48:35 · 988 阅读 · 0 评论 -
hdu 4662
将U全部转化为I 因为 I 的个数一定是2的n次方 有可能消除了一定数量的 2U 所以I的个数加上一个6的整数倍是2的n次方#include #include #include using namespace std;char a[1000010];int b[40] = {1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,1原创 2013-08-08 17:46:16 · 838 阅读 · 0 评论 -
hdu 1874 畅通工程续
Floyd 算法#include #include #include #define INF 100000001using namespace std;int d[210][210];int main(){ int n,m; while(scanf("%d%d",&n,&m) == 2) { for(int i = 0; i <= n; i原创 2013-08-09 16:38:12 · 544 阅读 · 0 评论 -
hdu 3631
最短路 执行一遍 Floyd算法 比赛的时候没有想到, 用了优化的Dijkstra 超时到死#include #include #include #define INF 1000000000using namespace std;int g[310][310];bool flag[310];int main(){ // freopen("d:/in.txt",原创 2013-08-22 12:56:28 · 500 阅读 · 0 评论 -
hdu 1085
额 母函数#include #include int a[3],b[3]= {1,2,5};int c1[10001],c2[10001],sum;int main(){ while(scanf("%d%d%d",&a[0],&a[1],&a[2]) && a[0]+a[1]+a[2]) { sum=a[0] + 2*a[1] + 5*a[2转载 2013-08-11 11:17:50 · 545 阅读 · 0 评论 -
hdu 3778
简单的dfs 但繁琐的可以了 0.0#include#include#includeusing std::sort;int n,m,cnt=0;struct team{ char s[50]; int low,up,d,f;};team a[30];struct match{ int x,y,re; bool operator < (con原创 2013-08-12 21:24:24 · 744 阅读 · 0 评论 -
hdu 1028
递推#include#include#include#include#includeusing namespace std;int a[130];void init(){ memset(a, 0 , sizeof(a)); a[0] = 1; for(int i = 1; i <= 120; i++) { for(int j =原创 2013-08-13 20:22:20 · 540 阅读 · 0 评论 -
hdu 1029
最多的那个数字要超过(n+1)/ 2 排一下序 输出中间的值 #include#include#include#include#includeusing namespace std;int a[1000010];bool cmp(int q, int p){ return q > p;}int main(){ int n; while(s原创 2013-08-14 10:25:37 · 564 阅读 · 0 评论 -
hdu 4681
将c串从a,b串中删去后求最长公子列 直接暴会超时#include #include #include #include using namespace std;char a[1010],b[1010],c[1010];int dp1[1010][1010],dp2[1010][1010];int aa[1010],bb[1010];int main(){ int原创 2013-08-15 18:56:18 · 606 阅读 · 0 评论 -
hdu 1024
参考了一下 http://moxi466839201.blog.163.com/blog/static/18003841620110220374942/滚动数组 状态转移方程不太好理解 .... f[i][j]=max(f[i][j-1],f[i-1][j-1])+a[j];#include#include#include#define maxn 1000010#define原创 2013-08-30 18:19:59 · 547 阅读 · 0 评论 -
hdu 4403
水水的dfs#include #include #include #include #include using namespace std;char b[20];int a[20], ans;void dfs(int cur, int len){ if(cur == len - 1) { a[cur] = 1; int d[原创 2013-08-06 10:30:07 · 577 阅读 · 0 评论 -
hdu 4195
我本来的想法求这个三角形的外心~~ 可以得到三条边对应圆心角 则这个正多边形的一条边对应的圆心角 应可以整除这三个角 但是一开始 没想到暴力枚举边数n, 还用模板求圆心坐标 然后求圆心角 导致误差比较大 实际上圆心角是圆周角的两倍 ~~~ 初中知识 只要求三角形的三个内角就可以 然后暴力枚举~~~~#include #include #include #de原创 2013-09-04 13:32:39 · 694 阅读 · 0 评论 -
hdu 4190
二分求箱子中的票数 然后判是否满足条件 主要为了纪念一下用优先队列9000ms水过#include#include#includeusing namespace std;int n,m,a[600000];bool check(int mid){ int cnt = 0; for(int i = 0; i < n; i++) cnt +=原创 2013-09-04 13:37:26 · 613 阅读 · 0 评论 -
hdu 4192
dfs全排列 加 模拟计算 #include #include #include #include #include #define maxn 10010using namespace std;bool vis[10];int value[10], result, n, now[10],top;char expr[100];int check(int l, int r原创 2013-09-05 14:42:43 · 732 阅读 · 0 评论 -
hdu 4971
不会最大流 记忆话搜索过的原创 2014-10-02 15:24:10 · 488 阅读 · 0 评论