- 博客(95)
- 资源 (2)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 博客建设中。。
算法入门经典题解导航 TitleTotal Submissions / Solving %Total Users / Solving %Volume 0. Getting Started Volume 1. Elementary Problem Solving
2014-02-02 18:19:16
832
原创 笔记——Java基【集合】
6.11、字符串是一个特殊的对象。一旦被初始化就不可以被改变。2、String 类复写了object的equals方法,该方法用于判断字符串是否相同。s1.equals(s2)。3、 String s1 = "abc"; String s2 = new String("abc"); //s1有一个对象,s2在内存中有两个对象。4、 String s1 = "
2014-07-30 10:00:30
519
原创 笔记——Java基础[03-面向继承(上)]
4.1 继承的概述1、多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继那个类即可。 子类可以直接访问父类中的非私有的属性和行为。2、好处:(1)提高了代码的复用性。(2)让类与类之间产生了关系,有了这个关系才有了多态的特性。class Person{ String name; int age;}class Stude
2014-07-23 22:00:49
474
原创 笔记——Java基础[01-Java概述]
1、 dos命令行,课程中常见的命令。dir : 列出当前目录下的文件以及文件夹md : 创建目录rd : 删除目录cd : 进入指定目录cd.. : 退回到上一级目录cd/ : 退回到根目录del : 删除文件exit : 推出dos命令行
2014-07-19 16:57:06
650
原创 uva - 311 - Packets(贪心)
题意:1x1 到 6x6 的行李,要装在 6x6 的箱子里,求最小的箱子数。方法:贪心。参考:http://blog.csdn.net/goomaple/article/details/7822004 2x2为负用1x1补正很好,希望大家借鉴。AC代码:#define Local#include #include #include
2014-04-24 17:27:51
792
原创 uva - Magic Numbers(枚举、位运算)
方法:暴力枚举。AC代码:#include #include #include #include #include #include #include #include #include #include using na
2014-04-22 21:43:45
851
原创 uva - 10106 - Product(大数相乘)
题意:大数相乘,注意X,Y的长度是250,那么答案的长度至少是两倍。AC代码:#include #include #include #include #include #include #include #include #include
2014-04-20 21:43:26
743
原创 uva 现在还能用的工具网站(2014.4)
本文根据 http://blog.csdn.net/wiking__acm/article/details/8254330 整理。1、Lucky貓的 UVA(ACM)園地 有部分题目的繁体中文翻译,但是有一些错误。还是有一些帮助。2、UVa Online Judge: Electronic Board uva的讨论版,可以找不一些特殊的测试用例,不过现在好像基本没人发新
2014-04-01 23:19:04
1341
原创 uva - 10670 - Work Reduction(贪心)
题意:N个单元的文件,Boss要求剩下M个,其余的要你完成。但是在deadline之前你完不成所以你要雇佣机构来帮你。L个机构,每个机构都可以分A、B两种方案,A是帮你完成一个单元,B是帮你完成剩下的一半。输出每个机构的最小花费。方法:贪心计算就行,循环结束的条件是(1) temp_N - (temp_N+1)/2 >= M,(2) agen[i].B AC代码:#include
2014-04-01 23:05:51
767
转载 VS2010 LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 的解决方法
用VS2010编译C++项目时出现这样的错误:LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 解决方法:1、搜索C盘下的cvtres.exe,结果得到类似这样的列表:C:\Program Files\Microsoft Visual Studio 10.0\VC\binC:\Windows\winsxs\x86_netfx-cvtres_for_
2014-04-01 13:11:15
545
原创 uva - 11129 - An antiarithmetic permutation(分治)
题意:给定一个n,代表从0到n-1,n个数的排列,如果这个排列中找不到任何一个长度大于2的等差序列,称这个数列为等差级数。输出任意一个等差级数。方法:1、举例n=6,0,1,2,3,4,5。分成1,3,5;0,2,4,再连成1,3,5,0,2,4。这样得到的数列前边和后边不会形成等差数列。那么我们一直这样做,类似二分法,知道让子序列#include #include
2014-03-31 16:59:07
708
原创 uva - 11100 - The Trip, 2007(贪心)
题意:给你n个数字,代表n个包的大小。小的包可以嵌套在大的包里,现在使这些包进行嵌套,使得到最少的包。方法:找到重复次数最多的数字,包裹数就是重复的次数k。稍微难的是包裹嵌套的输出。一个要求就是这些包裹肯定不能重复,既不能有两个2等。可以想到等差数列,让公差就是k,这样重复最多的数字都不会重复,其他的就更不会重复了。#include #include #includ
2014-03-26 23:23:51
889
原创 uva - 11054 - Wine trading in Gergovia(贪心)
题意:一个小镇上有n个居民,都以卖酒为生,城镇的运作模式就是每个居民买其他的酒。假定酒每天的需求量和销售量相同。但是运酒需要运费,运费等于每个居民的房子到其他居民的房子的距离*交易量(居民住在一条直线上)。求最小的交易量。方法:参考了网上的代码,让邻居间进行交易,既让后一个满足前一个。例如即使前一个是买,后一个也是买也让后一个卖给前一个人。具体为什么也说不太清楚。。AC代码:#incl
2014-03-25 23:30:39
738
原创 uva - 10602 - Editor Nottoobad(贪心)
题意:给你几个单词,第一个单词必须手动打印,后边的单词可以通过“重复最后一个单词”“删除最后的字母”(当然也可以打印)转换得到,求最小的操作次数。
2014-03-24 23:33:10
682
原创 杂谈2013.3.21
最近烦心事不少,ACM的选拔赛应该结束了吧。唉不知道该怎么说,毕竟没坚持下来,应该说是真的没办法坚持下来。最近任务安排的很多,基本没怎么写程序,规定每天写两个结果只写写HDOJ上的水题,连贴在博客里勇气都没有(太水了),也没有勇气写UVA上的题了。虽然没发进ACM了,但是很多个人赛还是有的。以后工作面试机试考研都用得到,所以不能忽视。希望这个星期的任务完成后把算法书的学习很题目的训练纳入计划中(相
2014-03-21 00:26:20
452
原创 HDOJ - Fibonacci Again(斐波那契序列、数学水题)
方法:边加边取余,否则会溢出,long long 也会。AC代码:#include #include #include #include #include #include #include #include #include #include using namespace std; co
2014-03-20 21:30:19
877
原创 HDOJ - A Mathematical Curiosity(水题)
方法:水题,两层循环,输出坑爹。一个大N,代表有几个输入块和几个输出块,每个块以 0 0 结束。AC代码:#include #include #include #include #include #include #include #include #include #include using
2014-03-18 21:04:48
605
原创 HDOJ - Uniform Generator(排序,随机数)
方法:打表,排序,比较。AC代码:#include #include #include #include #include #include #include #include #include #include using namespace std; const int maxn = 100
2014-03-18 20:21:22
807
原创 HDOJ - 1013 - Digital Roots(字符串、范围)
方法2:用字符串处理,基础题。但是将temp[i]赋值给s[i]的时候如果不加大括号会出现s[i]的值复制不上的问题,寒假做题遇到过,这次又卡了好长时间。但是把这一块包括其他部分的大括号整理一下后,删除这的大括号居然也可以了。有点郁闷,不知道为什么,不过以后尽量都加上,即使一行也加上,一是清晰,二是确保不会出现这样的问题。只是看起来多了点。AC代码:#include #inclu
2014-03-13 17:50:48
696
原创 HDOJ - 1012 - u Calculate e(数学、水题)
方法:水题,注意阶乘递归的写法,输出问题。输出3以下的和3以上的分开。AC代码:#include #include #include #include #include #include #include #include #include #include using namespace std
2014-03-13 16:48:57
591
原创 HDOJ - 1009 - FatMouse' Trade(贪心)
方法:贪心,类似uva上龙与勇士的例题,排序后从头开始取。AC代码#include #include #include #include #include #include #include #include #include #include using namespace std; st
2014-03-12 17:58:46
656
原创 HDOJ - 1008 - Elevator(水题)
方法:数学。#include #include #include #include #include #include #include #include #include #include using namespace std; const int maxn = 100+10;int mai
2014-03-12 17:40:26
743
原创 HDOJ - 1005 - Number Sequence(规律,数学、非常规)
题意:给以你一个递推公式,f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.求f(n)。方法:大体一看感觉和F序列相同,但是用递归发现栈溢出,用循环发现内存超限。这才发现不是想象中的水题。无奈问了下度娘,发现结果是49一循环,所以改了一下AC。附上所有代码。AC:#include #include
2014-03-04 23:36:04
884
原创 HDOJ - 1004 - Let the Balloon Rise(字符串)
方法:快排后找出现次数最多的。#include #include #include #include #include #include #include #include #include #include using namespace std; char ballon[1000][20];
2014-03-04 22:58:48
670
原创 HDOJ - 1002 - A + B Problem II(水题)
1000(略)1001(略)1002:大数相加,注意进位和输出细节。参考测试数据:
2014-03-02 21:12:23
755
原创 uva - 993 - Product of digits(贪心法)
题意:给你一个大于0的整数n,请你找到最小的整数q,使得q中所有数字相乘等于n。方法:贪心法。#include #include #include #include #include #include #include #include #include #include using namespace std;int main
2014-03-02 20:15:20
709
原创 uva - 10954 - Add All(优先队列、哈夫曼编码思想)
题意:题目名称就是你要做的任务:把一些数加起来。但是这对你来说一定是太简单了,所以让我们加一些东西在里面。做加法要付出的代价(cost) 定义为这2个数的总和,所以要加1 和10 所需付出的代价为11 。假如你想要加1, 2 和3,那么有以下几种方法:1 + 2 = 3, cost = 3 3 + 3 = 6, cost = 6 Total = 91
2014-03-01 22:44:33
985
原创 uva - 10714 - Ants(数学推导、蚂蚁问题)
题意:一群蚂蚁走在一条长度为L 公分的绳子上,每只蚂蚁的速度为1 cm/sec。当一只蚂蚁走到绳子的尽头时,它马上掉下绳子(再也爬不起来了)。当两只蚂蚁在绳子上相遇时,马上掉头往另一个方向走去。我们知道每只蚂蚁在绳子上的位置,但不幸的是,我们并不知道每只蚂蚁开始时走的方向。你的任务是算出最快和最慢可能需要多少时间,所有的蚂蚁都掉出绳子外。方法:经典的蚂蚁问题,最短的时间是两边的蚂蚁分别往两边走
2014-02-26 09:14:59
1623
2
原创 uva - 11520 - Fill the Square(贪心、字典序)
题意:在一个n*n的网格中填了一些大写字母,你的任务是把剩下的各自中也填满大写字母,使得任意两个相邻的格子(有公共边)中的字母不同。如果有多种解法,则要求按照从上到下、从左到右的顺序把所有格子连接起来得到的字符串的字典序应该尽量小。方法:先写一个字母表,然后一次判断每个位置周围的字母,从字母表开头开始,如果不重复就填上判断下一个位置,重复就选下一个字母。#include #inclu
2014-02-25 20:37:13
962
原创 uva - 12097 - Pie(二分法)
题意:有f+1个人来分N个圆形派,每个人得到的必须是一块整派,而不是几块拼在一起的。要求得到的派面积要相同。求每个人最多得到多大面积的派。方法:采用二分法,转化为“是否可以让每个人得到一块面积为x的派”取符合要求的最大x(刘汝佳算训P30)。#include #include #include #include #include #include #in
2014-02-25 17:39:38
1068
原创 uva - 11464 - Even Parity(部分枚举,递推)
题意:给你一个nxn的矩阵01矩阵,(每个元素非0就1),你的任务是把尽量少的0变成1,使矩阵的每个元素的上下左右的元素只和均为偶数。方法:枚举每个数字变或者不变有2^255太大。但是枚举第一行只有2^15,然后根据第一行计算下边的就行。注意是从上到下,从左到右计算,也就是得到的肯定是满足题意的。如果出现矛盾,则这种枚举不合适,返回INF。#include #include #
2014-02-20 22:02:50
766
原创 算法入门经典第八章学习笔记(下)
8.4 贪 心 法贪心指对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,所做出的仅是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题他能产生整体最优解或者是整体最优解的近似解。基本思路:1、建立数学模型描述问题;2、把求解的问题分成若干问题;3、对每一个子问题求解,得到局部最优解;4
2014-02-16 10:38:07
551
原创 uva - 11384 - Help is needed for Dexter(数学)
题意:给定正整数n,任务是用最小的操作次数把序列1,2,3……n中所有数边为0,每次操作可以选一到多个整数,同时减去一个正整数。方法:例n == 6时,同时减去后边一半最小那个,也就是4,变成了1 2 3 0 1 2,然后就和操作 1 2 3 是一样的了,所以 f(6) = f(3) + 1,所以 f(n) = f(n/2)+ 1.递归就行,边界是n == 1。#include #i
2014-02-13 16:27:31
769
原创 uva - 10881 - Piotr's Ants(等效变换,排序)
题意:一根长为L厘米的木棍上有n只蚂蚁,每只蚂蚁要么向左爬,要么向右爬,速度为1厘米/秒,当相撞时同时掉头(掉头时间忽略不计),给出初始位置和朝向,计算T秒后的位置和朝向。方法:和另一个蚂蚁的题目有点像,蚂蚁相撞等于对穿而过,问题在于那个蚂蚁不是蚂蚁了,所以问题就变为分清谁是谁的问题,详见《算训》P9。注意:写的这个程序改写了刘大大的某些部分,例如重载了‘#define Local#
2014-02-13 11:46:05
941
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人