摘要: 题目意思是给N(小于1000)个点,问这些点能构成多少个边与坐标轴平行的正方形。我的做法是先把所有点排序,枚举两个点作为正方形的一边,进而算出另外的两个顶点,然后十分查找这两个点是否都存在,最坏情况下复杂度为n^2 logn。/* * hdu2428/win.c * Created on: 2011-8-23 * Author : ben */#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#define MAXN 1005typedef struc 阅读全文
posted @ 2011-08-24 17:35 moonbay 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 就是考数学,考空间想象力,唉,数学还是不行啊,弄了两三个小时才勉强做出来……/* * hdu3668/win.c * Created on: 2011-8-24 * Author : ben */#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#define PI 3.1415926535/**计算图形中那个特殊形体的体积的公式*/double formular(double r, double t) { return r * r * t - t * 阅读全文
posted @ 2011-08-24 17:26 moonbay 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 这题本来应该是推公式做的,我一时没推出来,就全用二分查找了,打的时候没注意,提交的时候才发现ME,想了一想,杭电数据向来很弱的,就把MAXN改成1000000,过了,无语!/* * hdu2446/win.c * Created on: 2011-8-20 * Author : ben */#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#define MAXN 5496092long long array[MAXN], sum[MAXN];void 阅读全文
posted @ 2011-08-20 16:58 moonbay 阅读(239) 评论(0) 推荐(0) 编辑
摘要: Trie树,题目不难,但还是WA了一次,没有考虑后输入的字符串是前输入的字符串的前缀的情况,真是太粗心了。不过做了几道Trie树的题目以后,代码写得还是比较通用了,慢慢再改进吧/* * hdu1671/win.c * Created on: 2011-8-19 * Author : ben */#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#define CHAR_NUM 10#define BASE '0'typedef stru 阅读全文
posted @ 2011-08-19 21:43 moonbay 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 题意思路简单,直接贴代码/* * poj2001/win.c * Created on: 2011-8-18 * Author : ben */#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#define MAXN 1005#define MAXLEN 25int N;char strs[MAXN][MAXLEN];typedef struct Trie { int num; struct Trie * br[26];} Trie;Trie* ne 阅读全文
posted @ 2011-08-18 17:22 moonbay 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 在网吧做题,赶上杭电OJ不能交题,先把代码存在博客里,回学校提交,有错再改。/* * hdu1251/win.c * Created on: 2011-8-18 * Author : ben */#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>typedef struct Trie { int num; struct Trie * br[26];} Trie;Trie* newTrieNode() { int i; Trie* node = (Tri 阅读全文
posted @ 2011-08-18 16:00 moonbay 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 题目分类里说这题是hash,我用深搜加剪枝水过~~不过这道题还真算得上一道好题,思路很多,可以用HASH,题目数据再加强一点就更好了深搜代码如下:/* * hdu1496/linux.c * Created on: 2011-8-5 * Author : ben */#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>void work();int main() {#ifndef ONLINE_JUDGE freopen("data.in&qu 阅读全文
posted @ 2011-08-05 15:44 moonbay 阅读(185) 评论(0) 推荐(0) 编辑
摘要: OJ上分类里说这题是HASH,我用JAVA的TreeSet水过~import java.util.Scanner;import java.util.TreeSet;public class Main { public static int work(String str, int N) { int len = str.length(); if(N >= len) { return 1; } TreeSet<String> ts = new TreeSet<String>(); ts.clear(); int ans = 0; for(int i = 0; i + 阅读全文
posted @ 2011-08-05 12:18 moonbay 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 并查集,这题打代码只用了半个小时,调试却调了四个小时,一直WA,最后发现竟是当输入的图一个顶点也没有的时候,必须输出Yes……无语啊,这种题目真是没意思,特殊情况都不说明,害死人!/* * hdu1272/linux.c * Created on: 2011-8-4 * Author : ben */#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#define MAXN 100005int parent[MAXN];int exist[MAXN]; 阅读全文
posted @ 2011-08-04 20:03 moonbay 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 最小生成树,初始任意村庄距离为1,已经有路的距离设为0即可。 阅读全文
posted @ 2011-08-04 14:02 moonbay 阅读(98) 评论(0) 推荐(0) 编辑