
其他
文章平均质量分 68
w-y-p
这个作者很懒,什么都没留下…
展开
-
poj 5187(单调序列问题+快速乘)
/* 题意:给1~n,求n个数组成的排列满足先增后减或先减后增或单调递增递减的个数 思路:第i相对于前i-1个是最大的,所以前i-1个数先增后减或先减后增序列基础上第i个数都有两个位置可放置, 而单调增减只能放到第一个和最后的位置。所以是2的n次方-2种方案。 但要注意:n=1,输出1,p=1 输出0,且先要判断p 求2的n次方用到快速乘法,因为两个ll类型乘超原创 2015-04-19 12:01:44 · 434 阅读 · 0 评论 -
hdu-5430
题目链接 题意:在一个圈里从一个点出发,求反射n次回到起始点的方法数。 思路: 既约分数,即分子分母互质的分数,如果不是既约分数的话相当于同一种反射方案循环多次。 //#pragma comment(linker, "/STACK:102400000,102400000") #include #include #include #include #include #i原创 2015-09-06 13:28:52 · 604 阅读 · 0 评论 -
acmoj*
新版非诚勿扰 题目描述 非诚勿扰改版啦,不采取灭灯形式了,大家都相信缘分,新版规则如下:一场节目有n个女嘉宾和m个男嘉宾,女嘉宾都被帘子遮住,每位男嘉宾有一次选择机会,如果选中的帘子后有女嘉宾那么他们将牵手成功,如果没有那么只能遗憾唱起可惜不是你。当然如果某帘子后面的女嘉宾被带走那么这个帘子就会一直空着,不会补充男嘉宾无法确定帘子后是否有女嘉宾。问一场节目被带走的女嘉宾原创 2015-08-21 09:55:25 · 609 阅读 · 0 评论 -
hdu 5392-Infoplane in Tina Town(质因子分解求最小公倍数)
题意:给一个置换,求它的循环长度。即给一个1~n的任意排列,求使其置换为同一序列的循环长度。 例如下面一组测试数据: 6 2 1 5 3 4 6 第一个循环节为1->2->1,即长度=2; 第二个循环节为3->5->4->3即长度为=3; 第三个循环节6->6;即长度为1; 所以要将该序列重新转换为2 1 5 3 4 6,需要的循环长度为三个循环节长度的最小公倍数。 注意:求最小公原创 2015-08-16 11:08:21 · 1145 阅读 · 2 评论 -
hdu-5281 Senior's Gun*
题意:有n把枪m个怪兽,枪(a[n])和怪兽(b[m])都有一个值,每把枪可打死一只怪兽,枪打死怪兽可获得a-b积分,求最后最多积分。 思路:最后的方案一定是攻击力最强的k把枪消灭了防御最弱的k只怪物。 #include #include #include #include #include #include #include #include #include using name原创 2015-07-13 17:55:05 · 543 阅读 · 0 评论 -
hdu-5269(bc #44)
题意:求所有lowbit(Ai xor Aj)的和。即Ai^Aj的值第一个1出现的位置k,求k 思路: #include #include #include #include #include #include #include #include #include using namespace std; #define eps 1e-8 #define inf 0x3f3f3f3f #原创 2015-06-14 13:15:37 · 416 阅读 · 0 评论 -
hdu-5234(dp)
Happy birthday Problem Description Today is Gorwin’s birthday. So her mother want to realize her a wish. Gorwin says that she wants to eat many cakes. Thus, her mother takes her to a cake garden.原创 2015-05-25 20:47:42 · 449 阅读 · 0 评论 -
icpc2015 D Cutting Cheese(二分+球缺体积)
#include #include #include #include #include #include #include #include #include #include using namespace std; #define ll long long int #define eps 1e-11 //#define pi 3.1415926535898 #define pi acos(-原创 2015-06-05 21:44:09 · 530 阅读 · 0 评论 -
hdu-5251(矩形最小覆盖模板)
题目大意:最小矩形覆盖 首先有一个结论:凸包上一定有一条边与矩形的一条边重合 证明:如果不存在一条边与矩形的一条边重合,那么我将这个矩形旋转一下一定会比之前更小 于是我们枚举其中一条边,对其余三个点卡壳即可 #include #include #include #include #include #define M 50500 #define EPS 1e-7 u转载 2015-06-03 18:22:15 · 507 阅读 · 0 评论 -
hdu-5248(贪心+二分)
思路:二分求最小代价,使前面的值相对较小,这样后面的数值增加相对较小。 #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define eps 1e-8 #define rd(x) scanf("%d",原创 2015-06-03 17:13:05 · 811 阅读 · 0 评论 -
求LIS(O(nlogn))及fill、lower_bound、upper_bound函数
lower_bound(a,a+n,k) 二分求ai>=k的ai的最小的指针。 upper_bound(a,a+n,k) 二分求ai>k的ai的最小的指针。 例:可以求长度为n的有序数组a中的k的个数,即为upper_bound(a,a+n,k)-lower_bound(a,a+n,k)。 fill(a,a+n,x); 将数组a0~an位置赋值为x。 下面为nlogn时间内求LIS原创 2015-05-26 21:06:02 · 1545 阅读 · 0 评论 -
最小树形图
算法(本身并不难懂) 检查有向图是否存在自环,是否存在从根出发不可达的顶点。若存在自环,则去掉自环;若存在从根出发不可达的顶点,则不能生成最小树形图。接1,现在所有顶点都可由根达到,可以生成最小树形图。检查每一条边,由此获取除根之外每一个顶点的最小入边,共有(V-1)条(V是顶点数)。检查这(V-1)条边构成的子图中是否存在环。若不存在,则当前子图就是最小树形图,算法结束;否则,继续转载 2015-05-04 16:51:30 · 489 阅读 · 0 评论 -
hdu-5213(莫队算法)
莫队算法介绍: 莫队算法是离线处理一类区间不修改查询类问题的算法。就是如果你知道了[L,R]的答案。你可以在O(1)的时间下得到[L,R-1]和[L,R+1]和[L-1,R]和[L+1,R]的答案的话。就可以使用莫队算法。 莫队算法预先知道了所有的询问。可以合理的组织计算每个询问的顺序以此来降低复杂度。要知道我们算完[L,R]的答案后现在要算[L',R']的答案。由于可以在O(1)的时间下原创 2015-04-29 20:07:33 · 948 阅读 · 1 评论 -
hdu-5200
求删除1~n中任意点后剩下的连续段数。 主要思路,删除i时,若i前后都未删除,结果+1;若前后都已删除,结果-1. /* 题意:给n棵树的高度,m个数,每个数是询问减掉高度小于该数的树后, 连续树目的段数,且前后的询问不互相影响。 思路:对树高度排序,询问也离线进行排序,然后从头删除树木。 最终的实现思路是,如果当前删除的树两边有树则+1, 如果当前树两边都没树原创 2015-04-21 12:02:50 · 448 阅读 · 0 评论 -
hdu-5206(判断空间正方形)
题意:判断空间四点是否构成正方形。 思路:判断空间上4个点是否形成一个正方形方法有很多,这里给出一种方法,在p2,p3,p4中枚举两个点作为p1的邻点,不妨设为pi,pj,然后判断p1pi与p1pj是否相等、互相垂直,然后由向量法,最后一个点坐标应该为pi+pj−p1,判断是否相等就好了。 #include #include #include #include #include #includ原创 2015-04-23 15:14:12 · 608 阅读 · 0 评论 -
hdu-5429(大数java练习)
题目链接 题意:输入n个大数,判断是否为等比数列。 思路:大数+等比数列性质,a[i]*a[i]=a[i-1]*a[i+1]。 import java.io.*; import java.util.*; import java.math.*; public class Main { public static void main(String []arg){ Scanner cin=n原创 2015-09-08 13:24:46 · 401 阅读 · 0 评论