自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

kthsdwwl

while (haven't got one billion) { earn more; }

  • 博客(41)
  • 收藏
  • 关注

原创 la 3667 ruler

题目链接: 点击打开链接题目大意: 给出n个数字,要求设计一个尺子,刻度尽量少,长度尽量短,能够把n个数字都表示出来。刻度不超过7个,第一个刻度为0.思路: bfs分析: 学习了网上大牛的代码,搜索树的状态为一个set,记录所有刻度;以及一个status,用二进制记录能表示的数字。对于一个状态,遍历该状态的所有刻度,每个刻度加上或减去一个数字可以得到一个新刻度。

2013-11-29 19:45:30 831

原创 uva 1419 Ugly Windows

题目链接: 点击打开链接题目大意: 输入几个窗口,判断在最顶上的窗口是哪些思路: 字符串遍历分析: 暂且保存在这里...思路应该没问题.提交了半天都是wa,上网找了几个代码交上去也是wa...从uva上找了几道之前AC的题,原本可以的代码也都wa了...是不是出了什么问题?1. 第一步先把不可能在顶端的窗口过滤掉.观察在边界上的字母,如果没被覆盖,周围一

2013-11-28 17:06:51 417

原创 uva 11389 The Bus Driver Problem

题目链接: 点击打开链接题目大意: n个巴士司机,有n条白天线路和n条夜晚线路。给每个司机分配一条白天线路和一条夜晚线路。如果线路总时间超过时间上限d,那么每超过1小时就要付加班费r元。没超过就不用付。如何分配线路可以使加班费最少?思路: 贪心分析: 1. 首先把白天线路按时间从大到小排列。2. 对于耗时最长的线路d1,应该分配耗时最短的夜间线路n1。因

2013-11-27 15:02:54 730

原创 uva 1344 Tian Ji The Horse Racing

题目链接: 点击打开链接题目大意: 田忌和国王赛马,求最多能赢得的钱数思路: 贪心分析: 1. 把双方的马按速度从小到大排列。2. 从最慢的比起,设田忌速度为t,国王速度为k。如果ti ki,比,以最小的代价赢下一局。3. 如果ti = ki,这时要比较双方的最快马速,设为tm和km:a 如果tm b 如果tm > km,最快的

2013-11-23 20:16:16 826

uva 1344 Tian Ji The Horse Racing

题目链接:点击打开链接题目大意: 田忌和国王赛马,求最多能赢得的钱数思路:贪心分析:1. 把双方的马按速度从小到大排列。2. 从最慢的比起,设田忌速度为t,国王速度为k。如果ti < ki,必输,索性就输的彻底些,让ti和最快的马比;如果ti > ki,比,以最小的代价赢下一局。3. 如果ti = ki,这时要比较双方的最快马速,设为...

2013-11-23 20:16:00 124

原创 uva 10970 Big Chocolate

题目链接: 点击打开链接题目大意: 把一个m行n列的矩形巧克力切成m*n个1*1的方块,需要切几刀?不能一刀同时切多块巧克力.思路: 数学分析分析: 先切m-1刀把巧克力切成m条,接着每条切n-1刀.代码:#include int main(){ int m, n; while (scanf("%d %d", &m, &n) == 2) p

2013-11-22 17:43:34 467

uva 10970 Big Chocolate

题目链接:点击打开链接题目大意:把一个m行n列的矩形巧克力切成m*n个1*1的方块,需要切几刀?不能一刀同时切多块巧克力.思路:数学分析分析:先切m-1刀把巧克力切成m条,接着每条切n-1刀.代码:#include <cstdio>int main(){ int m, n; while (scanf("%d %d", &m...

2013-11-22 17:43:00 91

原创 la 3602 DNA Consensus String

题目链接: 点击打开链接题目大意: 给定m个长度均为n的DNA序列,求一个DNA序列,使它到所有序列的总Hamming距离尽量小.如果有多个解,输出字典序最小的解.思路: 字符串遍历分析:1. Hamming距离就是不同的字符的个数.要使Hamming距离最小,那么对于目标DNA的每个位置,可以遍历所有m个序列的该位置,找到出现次数最多的碱基,就是这个位置的字符

2013-11-22 17:40:10 498

la 3602 DNA Consensus String

题目链接:点击打开链接题目大意:给定m个长度均为n的DNA序列,求一个DNA序列,使它到所有序列的总Hamming距离尽量小.如果有多个解,输出字典序最小的解.思路: 字符串遍历分析:1. Hamming距离就是不同的字符的个数.要使Hamming距离最小,那么对于目标DNA的每个位置,可以遍历所有m个序列的该位置,找到出现次数最多的碱基,就是这个位置的字符.这...

2013-11-22 17:40:00 79

原创 la 3213 Ancient Cipher

题目链接: 点击打开链接题目大意: 给定两个长度均为n的字符串,判断其中一个字符串重新排列后,每个字母能否和另一个字符串的字母一一对应.比如ABB和CDD.思路: 字符串匹配分析:1. 两个字符串如果能一一对应,那么对应的字母出现次数一定是相同的.2. 因此对每个字符串,计算所有字母出现的次数,再依次比对这些次数.如果有不相同的次数说明无法一一对应.

2013-11-22 17:33:31 500

la 3213 Ancient Cipher

题目链接:点击打开链接题目大意:给定两个长度均为n的字符串,判断其中一个字符串重新排列后,每个字母能否和另一个字符串的字母一一对应.比如ABB和CDD.思路:字符串匹配分析:1. 两个字符串如果能一一对应,那么对应的字母出现次数一定是相同的.2. 因此对每个字符串,计算所有字母出现的次数,再依次比对这些次数.如果有不相同的次数说明无法一一对应.代...

2013-11-22 17:33:00 66

原创 uva 10340 All in All

题目链接:点击打开链接题目大意: 输入两个字符串s和t判断能否从t中删除0或多个字符,得到s思路: 字符查找分析:1. 将游标定位在t开头,对于s中的每个字符,在t中查找.找到后就把游标定位在下一个位置,继续查找s的下一个字符.2.某个字符找不到,说明无法得到s.代码:#include #include #include using

2013-11-22 17:28:52 420

uva 10340 All in All

题目链接:点击打开链接题目大意:输入两个字符串s和t判断能否从t中删除0或多个字符,得到s思路: 字符查找分析:1. 将游标定位在t开头,对于s中的每个字符,在t中查找.找到后就把游标定位在下一个位置,继续查找s的下一个字符.2.某个字符找不到,说明无法得到s.代码:#include <cstdio>#include &l...

2013-11-22 17:28:00 65

原创 uva 11039 Building designing

题目链接:点击打开链接题目大意: 有n个绝对值各不相同的非0整数,选出尽量多的数,使得正负交替且绝对值递增.思路:分析:1. 将数字按代码:

2013-11-22 17:13:38 428

uva 11039 Building designing

题目链接:点击打开链接题目大意: 有n个绝对值各不相同的非0整数,选出尽量多的数,使得正负交替且绝对值递增.思路: 数学分析分析:1. 将数字按绝对值大小排序2. 遍历序列,将符号不满足的数字删除代码:#include <cstdio>#include <cmath>#include <algorith...

2013-11-22 17:13:00 74

原创 uva 11636 Hello World!

题目链接:点击打开链接题目大意: 从一句hello world复制粘贴得到n句hello world. 至少需要多少次复制/粘贴操作?思路:递归分析:假设有10句hello world,那么可以通过5句hello world和一次复制/粘贴操作得到.也就是f(n) = f(n / 2) + 1.代码:#include int solve(in

2013-11-22 17:10:11 451

原创 uva 1450 airport

题目链接:点击打开链接题目大意:思路:二分分析:1. 首先二分答案,接着检测这个答案是否满足题意2. 对于要检测的rank,依次把两个跑道的飞机数相加.如果飞机数超出rank,可以移走飞机.用can_remove记录可以移走的飞机数,这个值是随时间增长而增长的.3. 如果飞机全部移走都无法满足,说明这个rank不符合题意,继续尝试更大的rank

2013-11-22 17:01:23 607

转载 uva 1467 Installations

题目链接:点击打开链接题目大意:有n个服务,第i个服务需要si的单位时间安装,截止时间为di。安排服务使惩罚值最大的两个任务的惩罚值之和最小。代码:#include#include#include#includeusing namespace std;const int maxn=501;struct node{ int s; in

2013-11-21 20:54:56 123

原创 UVA 11100 The Trip

题目链接:点击打开链接题目大意:给n个包,要求划分成几个严格递增的组,组数要尽可能小,而且每个组里的包数目要最小。思路:数学分析分析:1. 重复次数最多的包数就是最后的组数,组数再小就不能满足题意了。2. 最后是输出方案。“While maintaining the minimal number of pieces you are also to minim

2013-11-21 16:07:57 512

UVA 11100 The Trip

题目链接:点击打开链接题目大意:给n个包,要求划分成几个严格递增的组,组数要尽可能小,而且每个组里的包数目要最小。思路:数学分析分析:1. 重复次数最多的包数就是最后的组数,组数再小就不能满足题意了。2. 最后是输出方案。“While maintaining the minimal number of pieces you are also to min...

2013-11-21 16:07:00 76

原创 uva 11134 Fabled Rooks

题目链接:点击打开链接题目大意:传统题目变形。在n*n的棋盘上放置n个车,使得他们不会互相攻击,而且没个车的范围限制在一个矩形内,矩形的左上角,右下角坐标被给出。对于每个样例,如果能够在限制条件下摆出所有车,输出所有车的坐标。否则输出IMPOSSIBLE。思路:贪心 优先队列分析:1. 车摆放的横坐标和纵坐标是互相独立的,也就是说我们可以先为每个车分配x坐标,接着再

2013-11-20 16:30:41 705

uva 11134 Fabled Rooks

题目链接:点击打开链接题目大意:传统题目变形。在n*n的棋盘上放置n个车,使得他们不会互相攻击,而且没个车的范围限制在一个矩形内,矩形的左上角,右下角坐标被给出。对于每个样例,如果能够在限制条件下摆出所有车,输出所有车的坐标。否则输出IMPOSSIBLE。思路:贪心 优先队列分析:1. 车摆放的横坐标和纵坐标是互相独立的,也就是说我们可以先为每个车分配x坐标,接...

2013-11-20 16:30:00 61

原创 Git配置笔记

问题: 在ubuntu上配置git时出现错误提示Agent admitted failure to sign using the key解决方法: 使用ssh-add指令將私钥加進來 (根据个人的密匙命名不同更改 id_rsa)命令: #ssh-add   ~/.ssh/id_rsa

2013-11-16 21:49:39 376

原创 la 4254 Precessor

题目链接:题目大意:有n个任务,每个任务有3个参数,r d w,表示要在时刻r和d之内执行完毕,工作量为w。当执行速度为s时,工作量为w的任务需要w/s个单位时间。任务可以分块执行。你需要求出处理器执行过程中最大速度的最小值,保证每个任务都能在规定时间段内完成。思路:二分法 贪心分析:1. 这种类型的题应该用二分答案来做2. 对于每次二分得到的结果应该做个判

2013-11-16 19:47:46 772

la 4254 Precessor

题目链接:点击打开链接题目大意:有n个任务,每个任务有3个参数,r d w,表示要在时刻r和d之内执行完毕,工作量为w。当执行速度为s时,工作量为w的任务需要w/s个单位时间。任务可以分块执行。你需要求出处理器执行过程中最大速度的最小值,保证每个任务都能在规定时间段内完成。思路:二分法 贪心分析:1. 这种类型的题应该用二分答案来做2. 对于每次二分得到...

2013-11-16 19:47:00 141

转载 Git Ubuntu下安装

Ubuntu下安装使用github文章地址: 点击打开链接注册github帐号刚好一年了,但是真正开始使用却是从现在开始的,今天详细的看了看教程,自己也动手实践了一翻,确实不错,在这个简单的介绍一下。1:安装git :sudo apt-get install git git-core  安装完成后,在终端中输入 git 就可以看到相关的命令了。如果只

2013-11-15 17:06:32 555

转载 Git基础命令

这里介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令。读完本章,你就能初始化一个新的代码仓库,做一些适当配置;开始或停止跟踪某些文件;暂存或提交某些更新。我们还会展示如何让 Git 忽略某些文件,或是名称符合特定模式的文件;如何既快且容易地撤消犯下的小错误;如何浏览项目的更新历史,查看某两次更新之间的差异;以及如何从远程仓库拉数据下来或者推数据上去。取

2013-11-15 16:32:14 707

转载 Git安装与配置

在 Windows 上安装Git       下载 exe 安装文件并运行:          Git-1.7.6-preview20110708.exe       完成安装之后,就可以使用命令行的 git 工具(已经自带了 ssh 客户端)了,另外还有一个图形界面的 Git 项目管理工具。初次运行 Git 前的配置      一般在新的系统上,我们都需要

2013-11-15 16:30:44 644

转载 Git说明

关于版本控制      什么是版本控制?我真的需要吗?版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。在本书所展示的例子中,我们仅对保存着软件源代码的文本文件作版本控制管理,但实际上,你可以对任何类型的文件进行版本控制。      如果你是位图形或网页设计师,可能会需要保存某一幅图片或页面布局文件的所有修订版本(这或许是你非常渴望拥有的功能)。采用版本控制系

2013-11-15 16:27:17 580

原创 la 2995 Image is everything

题目链接:点击打开链接题目大意:有一个n*n*n的立方体,其中一些立方体已经缺失.每个单位立方体重量为1克,且被涂上单一的颜色.给出前,后,左,右,顶,底6个视图,判断这个立方体剩下的最大可能重量.思路:三维坐标系,迭代更新分析:1. 进行循环,每次循环对立方体的六个视图进行遍历2. 遍历一个视图时,对视图上的每个位置,计算出对应立方体上那一排的每个坐标.

2013-11-15 15:59:38 727

la 2995 Image is everything

题目链接:点击打开链接题目大意:有一个n*n*n的立方体,其中一些立方体已经缺失.每个单位立方体重量为1克,且被涂上单一的颜色.给出前,后,左,右,顶,底6个视图,判断这个立方体剩下的最大可能重量.思路:三维坐标系,迭代更新分析:1. 进行循环,每次循环对立方体的六个视图进行遍历2. 遍历一个视图时,对视图上的每个位置,计算出对应立方体上那一排的每个坐标...

2013-11-15 15:59:00 77

原创 uva 10881 Piotr's Ants

题目链接:点击打开链接题目大意:一根长度为L厘米的木棍上有n只蚂蚁,每只蚂蚁要么朝左爬,要么朝右.速度每秒1厘米.当两只蚂蚁相撞时,同时掉头,掉头时间忽略不计.给出每只蚂蚁的初始位置和朝向,计算T秒后每只蚂蚁的位置和朝向.思路:模拟分析:1. 将每只蚂蚁看成没有区别的黑点,它们相遇后不是掉头而是"对穿而过".那么我们可以单独计算每只蚂蚁在T秒后的位置和朝向,只不过这

2013-11-15 15:01:39 615

uva 10881 Piotr's Ants

题目链接:点击打开链接题目大意:一根长度为L厘米的木棍上有n只蚂蚁,每只蚂蚁要么朝左爬,要么朝右.速度每秒1厘米.当两只蚂蚁相撞时,同时掉头,掉头时间忽略不计.给出每只蚂蚁的初始位置和朝向,计算T秒后每只蚂蚁的位置和朝向.思路:模拟分析:1. 将每只蚂蚁看成没有区别的黑点,它们相遇后不是掉头而是"对穿而过".那么我们可以单独计算每只蚂蚁在T秒后的位置和朝向,只不...

2013-11-15 15:01:00 66

原创 la 3708 Graveyard

题目链接:点击打开链接题目大意:在一个周长为10000的圆上等距离分布着n个雕塑,现在又有m个新雕塑加入,希望n+m个雕塑可以等距离摆放(需要移动一些原有雕塑).求n个雕塑移动的最小距离.思路:数学分析 建参考系分析:1. 将n个雕塑中的其中一个作为原点,不需要移动.将圆的长度等比例缩小为n+m.这样这n+m个雕塑最终在圆上分别占据0,1,2,3...,n+m-1这

2013-11-15 14:27:42 669

la 3708 Graveyard

题目链接:点击打开链接题目大意:在一个周长为10000的圆上等距离分布着n个雕塑,现在又有m个新雕塑加入,希望n+m个雕塑可以等距离摆放(需要移动一些原有雕塑).求n个雕塑移动的最小距离.思路:数学分析 建参考系分析:1. 将n个雕塑中的其中一个作为原点,不需要移动.将圆的长度等比例缩小为n+m.这样这n+m个雕塑最终在圆上分别占据0,1,2,3...,n+m-...

2013-11-15 14:27:00 119

原创 uva 11300 Spreading the wealth

题目链接:点击打开链接题目大意:圆桌旁坐着n个人,每个人有一定数量的金币,金币总数能被n整除.每个人需要给相邻的人一些金币,使得最后每个人手中的金币数目一样.你需要求出转手金币数量的最小值.思路:数学分析 转化为求数轴上到n个点距离总和最小的点分析:设每个人开始有Ai个金币.每个人最终拥有的金币数设为M.设xi为第i个人给第i-1个人的金币数(x1表示第1个人给第n个人的金

2013-11-15 14:08:07 595

uva 11300 Spreading the wealth

题目链接:点击打开链接题目大意:圆桌旁坐着n个人,每个人有一定数量的金币,金币总数能被n整除.每个人需要给相邻的人一些金币,使得最后每个人手中的金币数目一样.你需要求出转手金币数量的最小值.思路:数学分析 转化为求数轴上到n个点距离总和最小的点分析:设每个人开始有Ai个金币.每个人最终拥有的金币数设为M.设xi为第i个人给第i-1个人的金币数(x1表示第1个人给第n个人...

2013-11-15 14:08:00 123

原创 uva 11729 Commando War

题目链接:点击打开链接题目大意:有n个部下,每个部下需要完成一些任务.第i个部下需要bi分钟交代任务,然后他会独立,无间断地执行ji分钟后完成任务.你需要选择交代任务的顺序,使得所有任务尽早执行完毕.思路:贪心分析:代码:#include #include #include using namespace std;struct Soldier{ int brief

2013-11-15 13:35:00 550

uva 11729 Commando War

题目链接:点击打开链接题目大意:有n个部下,每个部下需要完成一些任务.第i个部下需要bi分钟交代任务,然后他会独立,无间断地执行ji分钟后完成任务.你需要选择交代任务的顺序,使得所有任务尽早执行完毕.思路:贪心分析:按照执行时间ji进行排序,执行时间短的在前.代码:#include <cstdio>#include <vector>#includ...

2013-11-15 13:35:00 54

原创 uva 11292 Dragon of Loowater

题目链接:点击打开链接题目大意:王国里有n条恶龙, m个骑士可以雇佣去杀死这些龙.一个能力值为x的骑士可以砍掉恶龙一个直径不超过x的头,需要付x个金币.如何雇佣骑士可以砍掉所有龙头并支付最少金币.注意,一个骑士只能砍掉一个头.思路:贪心分析:对于不同的头,选择雇佣能力最接近的骑士去砍.对头的直径和骑士的能力值分别进行排序,每个头依次进行骑士的选取,最后判断是否把所有头砍光即可.代码

2013-11-15 13:27:23 565

空空如也

空空如也

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

TA关注的人

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