• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

  • 联系
  • 订阅
  • 管理

12 2010 档案

HDU 1394 Minimum Inversion Number 逆序数
摘要:杭电这题,也是逆序数,规模比poj小很多,可以不用归并,直接暴力统计。 这题要求最小的逆序数,开始每次序列都重新用归并算一次,发现超时了,后来看了别人解题报告发现原来可以利用一开始计算的那个逆序数。这题比较特别,输入的n个数是0~n-1的。 从该数字hold[i]就可以知道比它小的数有hold[i]个,比它大的数有n-1-hold[i]个. 每次把hold[i]放到最后时,ans = ans... 阅读全文

posted @ 2010-12-21 22:58 sysuwhj 阅读(582) 评论(0) 推荐(0)

POJ 2299 Ultra-QuickSort
摘要:今晚学习了逆序数,基本上照着别人的程序写的。利用归并排序来统计逆序数。 当归并两条有序链时,可以同时计算逆序数。 当left=i=mid,mid+1=j=right,如果有a[i]a[j],这样的说明在a的前段中i...mid的元素都比a[j]大,于是逆序数+=mid-i +1;如果a[i]a[j],这样的发生说明属于正常排序. 这题如果是用O(n^2)的方法统计会超时,注意要用... 阅读全文

posted @ 2010-12-21 22:43 sysuwhj 阅读(249) 评论(0) 推荐(0)

HDU 1176 免费馅饼 dp
摘要:这题一开始看不知如何dp,看了别人的解题报告才知道是数塔的变形 dp[i][j] 表示从i~n秒第j个位置获得的最多馅饼数 dp[i][j] = max (dp[i][j], dp[i+1][j-1], dp[i+1][j], dp[i+1][j+1]) 阅读全文

posted @ 2010-12-15 20:32 sysuwhj 阅读(483) 评论(0) 推荐(0)

HDU 1160 FatMouse's Speed dp
摘要:这题是看杭电acm课件做的,和一维的最长有序子序列差不多。 先按mice的重量为第一关键字升序排序,再按mice的speed按降序排序,然后开始dp 对杭电课件那个记录数组的意义不理解。 num[i]是记录从0~i个mice的最长子序列,num[i] = max (num[j]+1, num[i]) , 0= j i 一开始用string保存路径输出,不断地WA,想了很久,才发现问题... 阅读全文

posted @ 2010-12-15 16:51 sysuwhj 阅读(625) 评论(0) 推荐(0)

HDU 1231 最大连续子序列 dp
摘要://状态方程为c[n] = max(c[n-1]+a[n], a[n])//c[0] = a[0]#include iostream#include stdio.h#define MAX 10005using namespace std; int main(){ int a[MAX]; int c[MAX]; int hold_start[MAX]; //保存起始点 int n; whi... 阅读全文

posted @ 2010-12-14 20:43 sysuwhj 阅读(365) 评论(0) 推荐(0)

HDU 2084数塔 dp
摘要://记忆化搜索//从最底层开始向上搜索,每次保存最大的值#include<iostream>#define MAX 101using namespace std;int a[MAX][MAX];int main(){ int cases; int height; cin >> cases; int c[MAX]; int b[MAX]; while (cases--) { ... 阅读全文

posted @ 2010-12-14 19:46 sysuwhj 阅读(373) 评论(1) 推荐(0)

sicily 1135 飞越原野 bfs
摘要:这题因为两个地方打错变量,WA了好几次。 阅读全文

posted @ 2010-12-14 15:48 sysuwhj 阅读(493) 评论(0) 推荐(0)

sicily 1001. Alphacode dp
摘要:看了动态规划,对dp有个大概理解,这题之前一直卡着,刚开始还用搜索做~ 要注意对0的处理,开始把方程列错,WA数次 dp方程为 a[n] = a[n-1]+a[n-2],输入的字符串一次为X1X2X3…Xn… 当Xn = 0时,a[n] = a[n-2] 当Xn != 0时, 若X(n-1)与X(n)组成的数大于26, a[n] = a[n-1]. 若X(n-1)与X(n)组成的数=... 阅读全文

posted @ 2010-12-12 23:20 sysuwhj 阅读(1032) 评论(0) 推荐(0)

sicily 1159. Sum 高精度加法
摘要:#include <iostream>#include <string.h>#define MAX 1005using namespace std;char result[MAX];char a[MAX];char b[MAX];int result_size;void add();int main(){ int n; while (cin >> n) { c... 阅读全文

posted @ 2010-12-12 23:19 sysuwhj 阅读(670) 评论(0) 推荐(0)

sicily 1791 Philia's Problem
摘要:运用蔡勒公式,注意取模用法~~~w = (w%7+7)%7 因为这个WA了好几次 #include iostream#include stdio.husing namespace std; int main(){ int y, m, d, c, w; int re_d, re_m, re_y; int cases; int interval; int month[13] = {0, 3... 阅读全文

posted @ 2010-12-10 22:44 sysuwhj 阅读(273) 评论(0) 推荐(0)

sicily 1790. Single Round Match
摘要:很简单一道题,高精度判断能否被11整除, WA了好几次,发现输入0 0 时原来要输出YES~ 阅读全文

posted @ 2010-12-10 21:12 sysuwhj 阅读(402) 评论(0) 推荐(0)

sicily 1796. Max's kingdom
摘要:刚开始还打算用map,后来发现,按x第一关键字, y第二关键字排序即可, 感觉有点像基数排序#include <iostream>#include <stdio.h>#include <algorithm>using namespace std;#define MAX 1000000struct per{ long x,y;};per num[MAX];boo... 阅读全文

posted @ 2010-12-10 19:48 sysuwhj 阅读(215) 评论(0) 推荐(0)

sicily 1031. Campus 单源最短路
摘要:这题做得无比纠结~~~WA了无数次,一开始以为算法错了, 调了半天发现不了问题, 最后还是看别人解题报告才过, 原来当输入的S和T不在列表且S=T时,是要输出0的,这个要注意~~ 主要是用一个map把字符串映射到数字#include <iostream>#include <string>#include <map>#include <memory.h>#define INF 1000000#define MAX 210using namespace std;int cost[MAX][MAX];int my_distance[MAX];bool 阅读全文

posted @ 2010-12-09 19:06 sysuwhj 阅读(1357) 评论(3) 推荐(2)

sicily 1024 Magic Island dfs
摘要:这题就是个杯具~~~简单的dfs, WA了无数次,后来发现是因为每次cases忘了重新把vector数组clear掉,晕死~~~ 阅读全文

posted @ 2010-12-08 14:27 sysuwhj 阅读(1203) 评论(0) 推荐(0)

HDOJ 1102 Constructing Roads 最小生成树
摘要://Prim算法#include <iostream>#include <memory.h>#define INF 1000000#define MAX 200using namespace std;int main(){ int arcs[MAX][MAX]; bool isvisit[MAX]; int min_weight[MAX]; int N, Q; int x,... 阅读全文

posted @ 2010-12-08 12:07 sysuwhj 阅读(392) 评论(0) 推荐(0)

sicily 1090 Highways 最小生成树
摘要:题目是求最长的边,在生成最小生成树时,用一个变量保存最大的值即可 阅读全文

posted @ 2010-12-08 12:03 sysuwhj 阅读(1094) 评论(0) 推荐(0)

HDU 3道最小生成树题目
摘要://hdu1879 还是畅通工程#include <iostream>#include <algorithm>#define MAX 5000using namespace std;int father[MAX];int my_rank[MAX];void make_set(){ for (int i = 0; i < MAX; i++) { my_rank[i]... 阅读全文

posted @ 2010-12-06 21:38 sysuwhj 阅读(2916) 评论(0) 推荐(0)

 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3