ACM
文章平均质量分 80
dingyaguang117
这个作者很懒,什么都没留下…
展开
-
POJ 2299 离散化+树状数组求逆序数
貌似用的stable_sort是多余的#include #include #include using namespace std;#define typev int // type of res typev ar[500005]; // index: 1 ~ N int lowb(int t) { return t & (-t) ; } void add(in原创 2011-11-02 21:03:10 · 538 阅读 · 0 评论 -
ProjectEuler 201,多维背包
http://projecteuler.net/problem=201寻找100个数里面,50大小的子集的,所有和唯一的子集的,和。比普通背包多了一个子集数。没计算最大可能的数是多大,直接用了python的字典表示“和" 的那个维度,当然可以用滚动数组,或者临时变量啥的来减少一个维度,不过我直接每处理一行之后把上一行del,这样可以简单些。。。def m原创 2012-08-19 12:23:07 · 1522 阅读 · 0 评论 -
ProjectEuler,1-10题
先介绍一下,ProjectEuler,欧拉工程,是一个国外的练习数论的网站,总共300多道题目。网址是http://projecteuler.net/problems,有个特点是可以使用任何编程语言,或者自己手算,得到答案提交就可以了。这个和OJ是不一样的。提交通过以后,可以去论坛看看那别人的解决方法,以及参与讨论。好久没有动手做题了,那天看到论坛又有人在说,就来做做。我使用的原创 2012-08-19 12:15:00 · 1531 阅读 · 1 评论 -
HDOJ 1223 java大整数递推
又有月赛了 虽然已经是大四实习的老人了 但是还是没忍住做了一题。。翻了一道没人A的题看了下~大致题意是有N个数,请问有多少种大小关系比如3个数就是:1) A=B=C2) A=B3) A4) A5) A6) A=C7) B8) B9) B10) B=C11) C12) C13) C抽象一下,可以看作是,N个球放到盒子里原创 2012-04-08 14:58:33 · 1191 阅读 · 0 评论 -
二维空间点索引数据结构
一、四叉树(quad tree)是在数据库中放置和定位文件(称作记录或键)的方法。这一算法通过不停的把要查找的记录分成4部分来进行匹配查找直到仅剩下一条记录为止。 在树中,记录被存储在叶子的位置上。这一名字的由来是因为记录被存储在端点上,它们上面再没有节点了。分支被称作节点。数的顺序是每节点的分支(也称孩子)数。在四叉树中,每个节点通常有4个孩子,因此顺序是4。四叉树的叶子原创 2012-03-06 00:54:11 · 5856 阅读 · 0 评论 -
HDU HDOJ1176 免费馅饼 结题报告
HDU HDOJ11776免费馅饼都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但由于小径两侧都不能站人,所以他只能在小径上接。由于gameboy平时老呆在房间里玩游戏,虽然在游戏中是个原创 2010-09-14 20:53:00 · 1046 阅读 · 0 评论 -
Usaco 4.3.1 Buy Low, Buy Lower 详细解题报告
Usaco 4.3.1Buy Low, Buy LowerBy 小兔齐齐描述“逢低吸纳”是炒股的一条成功秘诀。如果你想成为一个成功的投资者,就要遵守这条秘诀:"逢低吸纳,越低越买"这句话的意思是:每次你购买股票时的股价一定要比你上次购买时的股价低.按照这个规则购买股票的次数越多越好,看看你最多能按这个规则买几次。给定连续的N天中每天的股价。你可以在任何一天购买一原创 2010-08-25 11:30:00 · 3571 阅读 · 1 评论 -
旅行商问题的动态规划解决
旅行商问题是一个著名的NP问题,不能找到多项式解。不过可以用动态规划的方法把时间复杂度从O(N!)降低到O (2^N)。对于解决小规模的旅行商还是可以实现的。http://icpc.ahu.edu.cn/OJ/Problem.aspx?id=420发现枚举过程中还是有很多重复计算的,所以可以存贮一下状态,避免了重复计算。 开辟N+1维数组,dp[N][2][2]..[原创 2010-11-30 09:12:00 · 10202 阅读 · 0 评论 -
2011ACM 成都现场 I题
哎 自己真是弱爆了,模拟题都搞不定。。少了一个语句,回来加上就A了太遗憾了#include #include #include #include #include #include #include using namespace std;int N,M;char W[55][55];int mask[5000][2],nmask;原创 2011-11-08 19:46:10 · 1002 阅读 · 0 评论 -
2011ACM 成都现场 H题 HDU4118
对于每条边来说,最多只有min(a端点数,b端点数)个点可以交换通过此边,然后只要能证明可以找到这样一种交换使每条边都能达到最大交换次数就行了。自己YY了一下,貌似是正确的,没严格证明 找每条边两端的点的个数,从叶子递归一下就行了#include #include #include #define mymin(a,b) (a<b?a:原创 2011-11-08 19:49:59 · 1490 阅读 · 0 评论 -
USACO 4.1.3 Fence Loops解题报告
USACO 4.1.3Fence Loops解题报告题意:题目的意思就是,给很多边,边的信息包括,ID编号,长度,两端分别与哪些边相邻。然后求一个最小的回路。 思路:1. 求最小回路,只需枚举每条边。对于一条边,去掉这条边后,求出这条边两个端点间的最短路径,就可以算出关于这条边的最小回路。最后比较得到最小的回路就是所求的。2. 求最短路径原创 2010-08-19 13:51:00 · 1379 阅读 · 0 评论 -
AOJ543 Mobile Service
题目连接http://icpc.ahu.edu.cn/OJ/Problem.aspx?id=543Description一个公司有三个移动服务员。如果某个地方有一个请求,某个员工必须赶到那个地方去(那个地方没有其他员工),某一时刻只有一个员工能移动。被请求后,他才能移动,不允许在同样的位置出现两个员工。从p到q移动一个员工,需要花费c(p,q)。这个函数没有必要对称,但是c(p原创 2011-11-20 00:39:32 · 1088 阅读 · 0 评论 -
计算三角形费马点
1.在一个三角形中,到3个顶点距离之和最小的点叫做这个三角形的费马点。2. 费马点计算方法:(1)若三角形ABC的3个内角均小于120°,那么3条距离连线正好平分费马点所在的周角。所以三角形的费马点也称为三角形的等角中心。(2)若三角形有一内角不小于120度,则此钝角的顶点就是距离和最小的点。3.如何计算等角中心呢?做任意一条边的外接等边三角形,得到另一点,将此原创 2012-01-27 23:47:52 · 19668 阅读 · 0 评论 -
几种线段树举例
我做过的几种线段树类型,贴一下代码备忘1.HDU1166 更新节点,区间求和#include #include #include #include using namespace std;#define MAXN 100005struct node{ int begin,end; int value;};node ST[MAXN*2];int N,A[M原创 2012-01-28 00:02:23 · 821 阅读 · 0 评论 -
判断点在多边形内部
用的是射线法,我的代码取的是向右的射线这题没有点在边上的情况,但是还是要考虑很多 比如射线覆盖边,射线交短点的情况,为了区分各种状况 我分成了6中相交情况~ 唉~有点多了 ~不过比较清晰~不知道别人是怎么做的 #include struct edge{ double ax,ay,bx,by;};struct point{ double x,y;};//原创 2011-05-18 16:08:00 · 791 阅读 · 0 评论 -
Java实现双数组Trie树(DoubleArrayTrie,DAT)
原文地址:Java实现双数组Trie树(DoubleArrayTrie,DAT)传统的Trie实现简单,但是占用的空间实在是难以接受,特别是当字符集不仅限于英文26个字符的时候,爆炸起来的空间根本无法接受。双数组Trie就是优化了空间的Trie树,原理本文就不讲了,请参考An Efficient Implementation of Trie Structures,本程序的编写也是参考这篇论原创 2012-05-28 11:32:32 · 9411 阅读 · 4 评论