2015年8月20日

HDU1166 敌兵布阵(线段树基础题单节点更新区间查询)

摘要: 这题用树状数组写要简单很多,因为我学习线段树,找了这个题入门。。#include #include #include #include #include #include #include using namespace std;#define M 50005#define ls node>1; ... 阅读全文

posted @ 2015-08-20 11:25 恶devil魔 阅读(217) 评论(0) 推荐(0) 编辑

线段树详解

摘要: 参考 http://blog.csdn.net/metalseed/article/details/8039326 一:线段树基本概念1:概述线段树,类似区间树,是一个完全二叉树,它在各个节点保存一条线段(数组中的一段子数组),主要用于高效解决连续区间的动态查询问题,由于二叉结构的特性,它基本能保持... 阅读全文

posted @ 2015-08-20 10:16 恶devil魔 阅读(297) 评论(0) 推荐(0) 编辑

2015年8月19日

扩展欧几里德算法

摘要: void gcd(int a,int b,int &d,int &x,int &y){ if(!b) { d=a; x=1; y=0; } else { gcd(b,a%b,d,y,x); y-=x*... 阅读全文

posted @ 2015-08-19 11:44 恶devil魔 阅读(198) 评论(0) 推荐(0) 编辑

2015年8月17日

UVALive 5790 Ball Stacking(灵活转换)

摘要: 参考 http://www.cnblogs.com/Phantom01/p/3957897.htmlDP的方向真的很重要,这题做的时候死活想不出来,看了题解以后恍然大悟原来这么简单。题意:有n层堆成金字塔状的球,若你要选一个球,你必须把它上面那两个球取了,当然也可以一个不取。求选的球最大的权值和。题... 阅读全文

posted @ 2015-08-17 14:48 恶devil魔 阅读(166) 评论(0) 推荐(0) 编辑

DAG上的动态规划(硬币问题)

摘要: 问题描述:有n种硬币,面值分别为v1,v2,v3...vn,每种硬币有无限多,给定非负整数s,可以选用多少个硬币,使得面值之和恰好为s?输出硬币数目的最小值和最大值,并且输出各自的选取方案(如果有多种方案,则输出硬币编号字典序较小的方案,输出每种选取方案的面值)。1#include #include... 阅读全文

posted @ 2015-08-17 11:27 恶devil魔 阅读(985) 评论(0) 推荐(0) 编辑

DAG上的动态规划(嵌套矩形)

摘要: 转自 http://blog.csdn.net/achiberx/article/details/8688759描述有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形 X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a#include #include #include #include #i... 阅读全文

posted @ 2015-08-17 11:20 恶devil魔 阅读(421) 评论(0) 推荐(0) 编辑

2015年8月16日

POJ2823 Sliding Window(单调队列模版题)

摘要: 题目描述:有N个数,每次从左到右选取M个数,第一行选取每个区间中的最小值输出,第二行选取最大值并输出。#include #include #include #include #include #include using namespace std;#define M 1000005int n,k,... 阅读全文

posted @ 2015-08-16 12:46 恶devil魔 阅读(230) 评论(0) 推荐(0) 编辑

二分模版

摘要: 详情请见http://blog.csdn.net/int64ago/article/details/7425727//二分查找(找到返回左端,找不到返回右端)int bSearch(int x,int y,int g){ int mid,l=x,r=y; while(l>1; ... 阅读全文

posted @ 2015-08-16 09:56 恶devil魔 阅读(150) 评论(0) 推荐(0) 编辑

最大连续和

摘要: 题意:给出一个长度为n的序列A1,A2,...,An,求最大连续和。int maxsum(int *A,int x,int y)//返回数组在左闭右开区间[x,y)中的最大连续和{ int v,l,r,maxs; if(y-x==1) return A[x];//只有一个元素,直接返回 ... 阅读全文

posted @ 2015-08-16 09:37 恶devil魔 阅读(178) 评论(0) 推荐(0) 编辑

LUCAS组合数公式

摘要: typedef long long LL;const int MOD=1e9+7;LL quick_mod(LL a,LL b){ LL ans=1; a%=MOD; while(b) { if(b&1) { ans=ans*... 阅读全文

posted @ 2015-08-16 09:25 恶devil魔 阅读(248) 评论(0) 推荐(0) 编辑

导航