自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Deng's site \#

http://blog.deng.cf

  • 博客(69)
  • 资源 (46)
  • 收藏
  • 关注

原创 HDU 5050 Divided Land(进制转换)

题意  给你两个二进制数m,n   求他们的最大公约数  用二进制表示  0先把二进制转换为十进制  求出最大公约数  再把结果转换为二进制  数比较大要用到大数import java.util.*;import java.math.*;public class wl6_9 { static BigInteger two = BigInteger.valueOf(2), one

2014-09-28 10:53:57 1187

原创 UVa 699 The Falling Leaves(递归建树)

题意  假设一棵二叉树也会落叶  而且叶子只会垂直下落   每个节点保存的值为那个节点上的叶子数   求所有叶子全部下落后   地面从左到右每堆有多少片叶子和上一题有点像  都是递归输入的  一个节点(设水平位置为p)  则它的左右儿子节点的水平位置分别为  p-1  p+1   也是可以边输入边处理的  输入完也就得到答案了   注意每个样例后面都有一个空行  包括最后一个#includ

2014-09-24 12:48:14 1565

原创 UVa 839 Not so Mobile(树的递归输入)

题意  判断一个树状天平是否平衡   每个测试样例每行4个数  wl,dl,wr,dr  当wl*dl=wr*dr时  视为这个天平平衡  当wl或wr等于0是  下一行将是一个子天平  如果子天平平衡  wl为子天平的wl+wr  否则整个天平不平衡容易看出  输入是递归的  所以我们可以直接递归  边输入边判断#includeusing namespace std;bool so

2014-09-24 09:17:07 1562

原创 UVa 548 Tree(建树,递归遍历)

题意 给你一个树的中序遍历和后序遍历 某个节点的权值为从根节点到该节点所经过节点的和 求权值最小的叶节点的值 如果存在多个 输出值最小的那个把树建好就好说了 递归递归dfs msun保存最小叶节点权值 ans保存答案

2014-09-23 20:22:28 1353

原创 UVa 122 Trees on the level(建树,层次遍历)

题意  建树并层次遍历输出  (data,pos)  pos表示改节点位置  L代表左儿子  R代表右儿子   建树很简单  开始在根节点  遇到L往左走遇到R往右走 节点不存在就新建   走完了就保存改节点的值  输出直接bfs就行了了  #include#include#includeusing namespace std;const int maxn = 300;char

2014-09-23 10:26:45 1174

原创 UVa 11988 Broken Keyboard(模拟链表)

题意  有一个键盘坏了  会在你不知道的情况下按下home或者end  给你这个键盘的实际输入  要求输出显示器上的实际显示输入最大5MB  所以直接数组检索肯定会超时的  用数组模拟链表  就可以很快了#include#includeusing namespace std;const int N=100005;char s[N];int next[N];int main()

2014-09-17 11:14:59 1084

原创 UVa 442 Matrix Chain Multiplication(矩阵链乘,模拟栈)

题意  计算给定矩阵链乘表达式需要计算的次数  当前一个矩阵的列数等于后一个矩阵的行数时  他们才可以相乘  不合法输出error输入是严格合法的  即使只有两个相乘也会用括号括起来  而且括号里最多有两个 那么就很简单了 遇到字母直接入栈  遇到反括号计算后入栈  然后就得到结果了#include#include#includeusing namespace std;const

2014-09-17 09:32:50 1428

原创 UVa 514 Rails(模拟栈)

题意  n辆火车按顺序依次进站  判断给定的出战顺序是否可能用数组模拟模拟栈代表车站  车依次进站  每当栈顶火车序号与当前要出站的b[cur] 相等时 就让栈顶元素出栈  即top-- #include#includeusing namespace std;const int N = 2000;int b[N], c[N];int main(){ int l, cur

2014-09-16 15:20:58 1439

原创 POJ 1840 Eqs(hash)

题意  输入a1,a2,a3,a4,a5  求有多少种不同的x1,x2,x3,x4,x5序列使得等式成立   a,x取值在-50到50之间直接暴力的话肯定会超时的   100的五次方  10e了都    然后可以考虑将等式变一下形   把a1*x1^3+a2*x2^3移到右边   也就是-(a1*x1^3+a2^x2^3)=a3*x3^3+a4*x4^3+a5*x5^3考虑到a1*x1^3

2014-09-02 09:52:12 644

原创 POJ 3370 Halloween treats(抽屉原理)

题意  有c个小孩 n个大人万圣节搞活动  当小孩进入第i个大人家里时   这个大人就会给小孩a[i]个糖果  求小孩去哪几个大人家可以保证得到的糖果总数是小孩数c的整数倍  多种方案满足输出任意一种用s[i]表示前i个打人给糖果数的总和  令s[0]=0  那么s[i]共有n+1种不同值  而s[i]%c最多有c种不同值  题目说了c这就是抽屉原理了   n个抽屉放大于n个苹果

2014-09-02 09:52:10 719

原创 POJ 3623 Best Cow Line, Gold(模拟)

题意  给你一个字符序列   你每次可以从它的头部或尾部拿出一个字符组成一个新的字符序列   输出这样做能达到的最小的字符序列   每行最多输出80个字符(开始被这个坑了好久)直接模拟就行  哪边小就选哪边  相等就往内看#include#include#includeusing namespace std;const int N = 30010;int main(){

2014-09-02 09:52:08 698

原创 HDU 2059 龟兔赛跑(DP)

题意   中文简单的多阶段决策DP   令p[0]=0   p[n]=l   d[i]表示乌龟从起点到第i个加油站所需的最小时间   那么有d[i]=min(d[i],d[j]+t(j,i))   t(j,i)表示 在第j个加油站加满油  然后直接开到第i个加油站   当然第0个加油站是起点就不用加油了   这样推到最后d[n]就是乌龟所需的最小时间了#include#include#

2014-09-02 09:52:06 647

原创 HDU 3008 Warcraft (DP)

题意  你去打boss  开始你的蓝和血还有boss的血都是100   每秒你先打boss一下  然后boss打你一下你减少q点血   你有n个技能  第i个技能耗蓝a[i]  对boss的伤害为b[i]   普攻伤害为1   而且你每秒回复t点蓝(恢复后不超过100)  求你最少可以多少次打死boss你最多能打100/q或者100/q+1次   令d[i][j]表示第i秒所剩蓝量为j时bos

2014-09-02 09:52:04 1212

原创 HDU 1300 Pearls(DP)

题意  珠宝店到珍珠批发商进货  第i种价格为p[i]的珍珠需要n个  则珍珠的结算价格为∑(n+10)*p[i]   由于没种珍珠的数量结算时都要加上10   所以有时候把便宜的珍珠换为贵的结算价格反而变少了   给你一张购买清单   珍珠价格是递增的   每种珍珠都可以替换为比它贵的  求最少总花费简单dp  令d[i]表示前i种珍珠的最少花费  sum[i]表示第1种到第第i种的总数  

2014-09-02 09:52:02 601

原创 HDU 1501 Zipper(DP,DFS)

题意  判断能否由字符串a,b中的字符不改变各自的相对顺序组合得到字符串c本题有两种解法  DP或者DFS考虑DP  令d[i][j]表示能否有a的前i个字符和b的前j个字符组合得到c的前i+j个字符  值为0或者1  那么有d[i][j]=(d[i-1][j]&&a[i]==c[i+j])||(d[i][j-1]&&b[i]==c[i+j])   a,b的下标都是从1开始的  注意0的初

2014-09-02 09:52:00 572

原创 HDU 1081 To The Max(DP)

题意  求一个n*n矩阵的最大子矩阵和HDU 1003 max sum 的升级版   把二维简化为一维就可以用1003的方法去做了  用mat[i][j]存  第i行前j个数的和   那么mat[k][j]-mat[k][i]就表示第k行  第i+1个数到第j个数的和了   再将k从一枚举到n就可以得到这个这个宽度为j-i的最大矩阵和了   然后i,j又分别从1枚举到n就能得到结果了   和1

2014-09-02 09:51:57 563

原创 HDU 1078 FatMouse and Cheese(DP)

题意  老鼠在一个小镇吃奶酪  城镇可以看成一个n*n的矩阵  其中每个格子都有一定数量的奶酪mat[i][j]   老鼠从(0,0) 开始吃   而且下个吃的格子里的奶酪必须比上个格子多   老鼠只能水平方向或者垂直方向走  而且每次走的距离不能超过k  求老鼠最多能吃多少奶酪起点是固定的   比较容易   直接记忆化搜索令d[i][j]表示以(i,j)为终点的最优解  那么对于所有(i

2014-09-02 09:51:55 620

原创 HDU 1160 FatMouse's Speed(DP)

题意  输入n个老鼠的体重和速度   从里面找出最长的序列  是的重量递增时速度递减简单的DP  令d[i]表示以第i个老鼠为所求序列最后一个时序列的长度  对与每个老鼠i  遍历所有老鼠j  当(w[i] > w[j]) && (s[i] #include#includeusing namespace std;const int M=1005;int w[M], s[M],

2014-09-02 09:51:53 550

原创 HDU 1114 Piggy-Bank(完全背包 DP)

题意  知道空存钱罐的重量和装满钱的存钱罐的重量及每种币值的重量   求存钱罐里至少有多少钱 裸的完全背包  但是是求最小值  所以初始0要变成初始INF  max也要变成min#include#include#includeusing namespace std;const int N = 10005, INF = 0x3f3f3f3f;int val[N], wei[N]

2014-09-02 09:51:51 577

原创 POJ 1692 Crossed Matchings(DP)

题意  有两行数a[n1] b[n2]   分别有n1 n2个数   当第一行一个数和第二行一个数相等时   他们就可以连起来   每个数只能连一个   求最有多少条线使得每条都至少有一条和它相交令d[i][j]表示  a的前i个数和j的前j个数最多可以连接多少条当a[i]==b[j]时  将们连起来是肯定不与其它线相交的  所以d[i][j]=max(d[i-1][j],d[i][j-1

2014-09-02 09:51:49 597

原创 HDU 1789 Doing Homework again(贪心)

题意  某大参加ACM竞赛回来落下很多作业  每个作业都有最后期限   没在最后期限之内做完期末就要扣掉对应的分   求最少扣多少分把所有作业按扣分大小从大到小排序  然后就贪阿  能完成前面的就完成前面的  实在不能的就扣分吧~#include#include#includeusing namespace std;const int N = 1005;int dli[N], r

2014-09-02 09:51:47 543

原创 POJ 3282 Ferry Loading IV(模拟,队列)

题意   汽车通过渡船过河  渡船开始在左边   输入按车辆来的顺序输入河两岸的车   渡船每次运输的汽车的总长度不能超过渡船自己本身的长度  先来的车先走   求轮船至少跨河多少次才能将所有的车辆都运完简单模拟  建两个队列  分别装左边的车  和右边的车   算出两边各至少需要运输多少次就行了#include#include#includeusing namespace std;

2014-09-02 09:51:45 665

原创 POJ 3087 Shuffle'm Up(模拟)

题意   给两堆牌s1,s2交给你洗 每堆有c张  每次洗牌得到s12  其中s2的最下面一张在s12的最下面一张然后按顺序一张s1一张s2  洗好之后可以把s12下面的c张做s1   上面的c张做s2  求多少次洗牌之后可以得到输入给你的串s  不能得到输出-1简单模拟  s1+s2!=s就一直洗牌   如果回到初始状态都没得到s就不会得到s了   得到s就可以输出洗牌次数了#inclu

2014-09-02 09:51:43 645

原创 POJ 3481 Double Queue(STL)

题意  模拟银行的排队系统  有三种操作  1-添加优先级为p 编号为k的人到队列  2-服务当前优先级最大的   3-服务当前优先级最小的  0-退出系统可以用stl中的map   因为map本身就根据key的值排了序   对应2,3  我们只需要输出最大或最小就行了并从map中删除该键值#include#includeusing namespace std;map a;in

2014-09-02 09:51:41 679

原创 POJ 1856 Sea Battle(DFS)

题意  图中每个矩形'#'连通块代表一艘船  若一艘船与另一艘有边相邻或有角相邻  那么认为这两艘船相撞   若图中有船相撞  输出bad  否则输出图中有多少艘船可以把图的周围全包上一圈'.'  遍历图中每个点  可知当图中存在一下四种结构中的一个时  必有船相撞   输出并退出循环  否则则dfs这个点  若图中不存在这些结构   就可以输出连通块数量即轮船数了#include

2014-09-02 09:51:39 592

原创 POJ 1205 Water Treatment Plants(递推)

题意   建设一条河岸的污水处理系统  河岸有n个城市   每个城市都可以自己处理污水 V   也可以把污水传到相邻的城市处理 >或令d[i]表示有i个城市时的处理方法数  最后一个城市的处理方法有1.V 自己处理自己的  与前i-1个城市的处理方法无关  有d[i-1]种方法2.3.>V 左边有污水传过来  和自己的一起处理  这时第i-1个城市可以向右传了  如果这种情况发生的

2014-09-02 09:51:36 733

原创 HDU 1978 How many ways(DP)

题意  中文  但要注意小于你能量的点也是能到达的令d[i][j]表示到达第i行第j列的方法数  初始化为0  d[1][1]为1  输入一个点的能量t后  枚举这个点能到的所有点(i+x,j+y)(x+y#include#includeusing namespace std;const int N = 105, MOD = 10000;int main(){ int d

2014-09-02 09:51:34 541

原创 POJ 3461 Oulipo (KMP字符串匹配·统计p在s中出现次数)

题意  给你两个字符串p和s  求p在s中出现的次数  很裸的kmp因为不止匹配一次  每次找到后还要循环j=next[j]的过程   知道到达s的终点#include#includeusing namespace std;const int N = 10005, M = 1000005;int next[N], ans, n;char p[N], s[M];void k

2014-09-02 09:51:32 1061

原创 HDU 1058 Humble Numbers(DP,数)

题意  所有只能被2,3,5,7这4个素数整除的数称为Humble Number  输入n  输出第n个Humble Number1是第一个humble number  对于一个Humble Number  a  有2*a,3*a,5*a,7*a都是Humble Number  可以以1为基数  依次展开即可得到一定范围内的Humble Number 用i,j,k,l分别记录 2,3,5,

2014-09-02 09:51:30 564

原创 HDU 2845 Beans(DP,最大不连续和)

题意    吃豆子游戏    当你吃了一个格子的豆子   该格子左右两个和上下两行就不能吃了    输入每个格子的豆子数    求你最多能吃多少颗豆子可以先求出每行你最多可以吃多少颗豆子   然后每行就压缩成只有一个格子了   里面的豆子数就是那一行最多可以吃的豆子数   然后问题就变成求一列最多可以吃多少颗豆子了   和处理每一行一样处理   那么问题就简化成求一行数字的最大不连续和问题了

2014-09-02 09:51:28 532

原创 HDU 2844 Coins (组合背包)

题意   给你n种面额不同的金币和每种金币的个数  求这些金币能组合成的面额在m内有多少种还是明显的背包问题  d[i]表示这些金币在i内能组合成的最大面额  初始化d为负无穷  d[0]=0  这样就可以保证d[i]恰好为i时才能为正值原因可以自己想想  然后就用背包背吧  直接多重背包也可以过  但是分成多重背包和完全背包要快一点#include#include#include

2014-09-02 09:51:26 534

原创 HDU 1421 搬寝室(DP)

题意  中文先把物品重量从小到大排序 d[i][j]表示前i件物品选j对的最小疲劳 若选了第i个物品  那么和它一对的必是第i-1个物品  注意是前i件i=j*2时  没有选择 d[i][j]=d[i-2][j-1]+(w[i]-w[i-1])^2i>j*2时  存在第i个选或者不选之分若选了第i个的话  那么问题就转化为在i-2个物品中选j-1个了若不选第i个的话  

2014-09-02 09:51:24 681

原创 HDU 2870 Largest Submatrix(DP)

题意  求最大相同字符子矩阵  其中一些字符可以转换其实就是HDU1505 1506的加强版  但是分了a,b,c三种情况  看哪次得到的面积最大对于某一个情况  可以把该字符和可以转换为该字符的位置赋值0 其它位置赋值1 这样就转化成了求最大全0矩阵的问题了对于转换后矩阵中的每个点 看他向上有多少个连续0 把这个值存在h数组中 再用l数组和r数组记录h连续大于等于该位置的最左边位置和

2014-09-02 09:51:22 525

原创 HDU 2830 Matrix Swapping II (DP,最大全1矩阵)

题意  给你一个n*m矩阵  每列都可以随便交换位置   求最优交换后最大的全1子矩阵又是HDU 1505 1506的变种  但这个更容易了  因为每列都可以交换位置了   那么这一行中所有比i高的都可以与i相邻了  只需要统计这一行有多少个比i高就行了   可以在算出每一行后  把高度大的放前面去  用num[i]记录排序后的列原来的数  这样就有j列比h[i][num[j]]高了  最后的

2014-09-02 09:51:20 549

原创 HDU 1069 Monkey and Banana(DP 长方体堆放问题)

Monkey and BananaProblem DescriptionA group of researchers are designing an experiment to test the IQ of a monkey. They will hang a banana at the roof of a building, and at the mean time, prov

2014-09-02 09:51:18 696

原创 HDU 1171 Big Event in HDU(多重背包)

Big Event in HDUProblem DescriptionNowadays, we all know that Computer College is the biggest department in HDU. But, maybe you don't know that Computer College had ever been split into Comput

2014-09-02 09:51:16 531

原创 HDU 2159 FATE(二维完全背包)

中文题目就不用解释了   就是裸的二维完全背包d[i][j]表示消耗i忍耐杀j个怪最多可获得的经验  然后就用完全背包来做了  二维背包背包不过是多了一重循环#include#include#includeusing namespace std;const int N = 105;int main(){ //还需的经验值n,保留的忍耐度m,怪的种数k,最多的杀怪数s

2014-09-02 09:51:13 533

原创 HDU 2577 How to Type(模拟)

题目链接  http://acm.hdu.edu.cn/showproblem.php?pid=2577 题意   给你一个由大写字母和小写字母组成的字符串  模拟键盘输入的最少按键次数直接模拟每个字符的输入  flag表示capslock的状态  1表示打开  0为关闭  开始是和输入完毕都是关闭的关闭的  用plu记录shift和capslock的按键次数当接下来输入的字母

2014-09-02 09:51:11 525

原创 HDU 1087 Super Jumping! Jumping! Jumping!(DP)

Super Jumping! Jumping! Jumping!Problem DescriptionNowadays, a kind of chess game called “Super Jumping! Jumping! Jumping!” is very popular in HDU. Maybe you are a good boy, and know little ab

2014-09-02 09:51:09 508

原创 HDU 2602 Bone Collector(01背包)

Bone CollectorProblem DescriptionMany years ago , in Teddy’s hometown there was a man who was called “Bone Collector”. This man like to collect varies of bones , such as dog’s , cow’s , also h

2014-09-02 09:51:07 489

线性筛法与积性函数

贾志鹏的线性筛法与积性函数 看看就知道是什么了

2015-07-11

手速练习软件TT(带DOSBox)

经典的打字练习软件TT 提升手速还是需要的 个人觉得比金山打字通赞多了

2015-07-04

KawigiEdit2.1

Topcoder的插件 个人感觉最好用的一个 入口kawigi.KawigiEdit

2015-03-18

15个Codeblocks高亮主题

CodeBlocks的几款高亮皮肤 来自官方wiki 使用方法见我的blog

2014-11-30

C++语言程序设计·第4版·郑莉 第9章课件

清华大学出版社C++教材 C++语言程序设计·第4版·郑莉 第9章课件 模版与群体

2014-09-01

nt6 hdd installer v3.1.4

计算机相关必备工具之 nt6 hdd installer v3.1.4 硬盘安装Windows的实用工具

2014-08-30

超级PI 1.9

计算机相关必备工具之 SuperPI-1.9 小巧精悍的CPU性能测试工具

2014-08-30

CPU-Z 1.70

计算机相关必备工具之 CPU-Z 1.70 专业的CPU信息查看工具

2014-08-30

引导修复工具 v2.5.7

计算机相关必备工具之 引导修复工具 v2.5.7 多系统引导修复工具

2014-08-30

windows安装器 3.6

计算机相关必备工具之 windows安装器 3.6.3 方便安装原版系统啦啦啦

2014-08-30

EasyBCD 2.2

计算机相关必备工具之 EasyBCD 2.2中文版 系统引导相关配置工具

2014-08-30

AS SSD Benchmark 1.7

计算机相关必备工具之 SSD测试工具 查看测试SSD硬盘的详细信息

2014-08-30

编程字体合集

计算机相关必备工具之 个人喜欢的5个编程字体 让代码更好看

2014-08-30

HDTunePro 5.5

计算机相关必备工具之 硬盘测试工具 查看测试硬盘的详细信息

2014-08-30

文件校验工具

计算机相关必备工具之 文件校验工具 查看文件的hash md5 sha1等信息

2014-08-30

码农第11期

图灵社区出品电子杂志码农 之 码农第11期 2014-3-26日出版

2014-08-30

POJ最新离线版

离线的POJ题库 有2009年3月前的所有题目 题目从1000-3722 没网的ACMer必备噢

2014-08-25

(HDUACM201403版_12)组合博弈入门

杭电ACM课件2014版之(HDUACM201403版_12)组合博弈入门

2014-08-25

(HDUACM201303版_15)筛选法及预处理(附菜鸟的23个经典错误)

杭电ACM课件2014版之(HDUACM201303版_15)筛选法及预处理(附菜鸟的23个经典错误)

2014-08-25

(HDUACM2010版_13)二分匹配及其应用

杭电ACM课件2014版之(HDUACM2010版_13)二分匹配及其应用

2014-08-23

(HDUACM201403版_11)特殊的数

杭电ACM课件2014版之(HDUACM201403版_11)特殊的数

2014-08-23

(HDUACM201403版_10)搜索入门

杭电ACM课件2014版之HDUACM201403版_10)搜索入门

2014-08-23

(HDUACM201403版_08)计算几何基础

杭电ACM课件2014版之 (HDUACM201403版_08)计算几何基础

2014-08-23

(HDUACM201303版_07)背包专题

杭电ACM课件2014版之 (HDUACM201303版_07)背包专题

2014-08-23

(HDUACM201403版_06)并查集(最小生成树)

杭电ACM课件2014版之 (HDUACM201403版_06)并查集(最小生成树)

2014-08-23

(HDUACM201403版_05)动态规划

杭电ACM课件2014版之 (HDUACM201403版_05)动态规划

2014-08-23

(HDUACM201403版_04)递推求解

杭电ACM课件2014版之 (HDUACM201403版_04)递推求解

2014-08-23

(HDUACM201403版_03)贪心算法

杭电ACM课件2014版之 (HDUACM201403版_03)贪心算法

2014-08-23

(HDUACM201403版_02)简单数学题

杭电ACM课件2014版之 (HDUACM201403版_02)简单数学题

2014-08-23

(HDUACM201303版_01)初识ACM 高清PPT

杭电的ACM课件2014版之(HDUACM201303版_01)初识ACM

2014-08-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除