自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

liwei的专栏

记录生活与学习的点点滴滴

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

原创 Project Euler problem 26

Reciprocal cyclesProblem 26A unit fraction contains 1 in the numerator. The decimal representation of the unit fractions with denominators 2 to 10 are given:1/2= 0.51/3

2013-10-31 23:16:23 838

原创 大数除法

大数除法,这个以前还真不会,现在看到别人写的终于理解了……举例:m/n m = m % n; for(int i = 1; i <= 1000; i++) // 分母最大为1000则最多有1000位。 { //rm[m] = i; //存余数的位置 m *= 10; a[i] = m / n;

2013-10-31 23:00:42 691

原创 project euler problem 22对文件的处理

其实如果是小的输入的话,是个水题,但是这里是文件输入方式的,所以考查的是文件输入……刚才会了文件的读取之后,这题正好可以运用,哈哈……#include #include #include #include #include #include #include #include #include #include #include #include using names

2013-10-28 20:09:04 699

原创 HDU 3750(2013.10.27周赛)

就是给出上限,进行猜数游戏,然后求出找到所以求的数的概率不过题目要求是用二分查找的方法……其实就是求出1到n每个数得到的概率相加再除以n就得了,不过用二分有个小技巧,设所猜的数为j,则二分的下个数为:j=j>>1;二分就是二进制往左移嘛,那时怎么就做不出来捏,唉……现在想想,也太容易了!!!#include #include #include #include #include #i

2013-10-28 19:24:50 582

原创 从文件读取数据

以前对文件读取数据不会,虽然在大一实习中用了,但是也只是做了个实验,没有弄懂,照着课本写的,现在发觉很有用,因为在平时的编程中,数据每次输入数据都挺烦的,要是很多的话,复制粘贴也挺烦的,所以看到别人的代码有从文件读取的方法,所以也弄来试试,确实发觉挺有用的……因为这个原因,所以project euler problem 22题就不知道怎么做了举个简单的例子:int main(){

2013-10-28 18:58:41 1479

原创 COJ 1223 JAVA入门训练modpow

Super A^B mod CTime Limit: 1000 ms     Memory Limit: 65536 KBTotal Submit: 8     Accepted: 7 Description数论课上,老师给DreamFox安排了一项任务,用编程实现A的B次方模C。这个当然难不了ACMer。于是DreamFox回去后就开始用代码实现了。并且超额完成了任务,实现了

2013-10-26 22:48:56 2497

原创 COJ 1019 JAVA入门练习

Description用高精度计算出S=1!+2!+3!+…+n!(n≤50)其中“!”表示阶乘,例如:5!=5*4*3*2*1。Input只有一行,一个正整数n。Output只有一行,一个正整数S。Sample Input48Sample Output12678163798554051767172643373255731925167

2013-10-26 01:45:26 903

原创 HDU 4325线段树+离散化(排序后去重)+lazy标记

这道题是我线段树入门的第一道题,搞了整整三天了!!!不过虽然智商有点低,学了整整三天了才会线段树和其离散化法,不过还是值了,把这线段树搞定了就好,多做几道题巩固一下……#include #include #include #include #include #include #include #include #include #include #include #inc

2013-10-24 23:10:13 986

原创 线段树中的离散化与lazy标记思想

线段树研究了三天了!!!第一天理解了线段树是如何操作数据的,但是不太理解线段树的离散化,不知道离散化是用来干嘛的。第二天又研究了好久离散化,才知道其核心!……其实离散化还是挺容易理解的,比如求一些线段的重合,给出一些线段,如:(2,4),(4,8),(6,8);如果没离散化就建树的话,那么树就为build(1,8),即最大的上限为8。如果离散化,把这几个数排下序:2,4,6,8;那么分别让2指

2013-10-24 22:08:56 1866 1

原创 线段树入门 以HDU 4325为例(未离散化,也没lazy标记)

今天都是看的线段树,终于自己能编出简单的来了,虽然还没弄明天离散化,但是先放着,怕文件丢了,先上传再说。在睡前终于把代码都敲出没有问题出来了,哎哟,累了一天了,继续努力,争取这两天把离散化也学会了!!!下面这些蓝字是我学习线段入门的时候看到比较能好理解的。 把问题简化一下: 在自然数,且所有的数不大于30000的范围内讨论一个问题:现在已知n条线段,把端点依次输入告诉你,然后有

2013-10-23 00:26:01 652

原创 HDU 1576扩展欧几里德(2013.10.20周赛D题)

Problem D Time Limit : 1000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other)Total Submission(s) : 8   Accepted Submission(s) : 7Font: Times New Roman | Verdana | Georgia Font Siz

2013-10-21 20:06:33 764

原创 UVA 11235 RMQ(范围最小值(最大值)问题):Sprase Table算法

算法入门经典训练指南198页。范围最小值问题(Range Minimum Query,RMQ).实践中最常用的是Sparse Table 算法,预处理时间是O(nlogn),查询只需要O(1),而且常数很小。注意到整个数组是非降序的,所有相等元素会聚集到一起。这样可以把整个数组进行游程编码。比如-1,1,1,2,,2,2,4可以编码成(-1,1)(1,2),(2,3),(4,1),

2013-10-21 17:53:51 795

原创 HDU 2824欧拉函数(即周赛G题)

欧拉函数挺有用的,现在用了比较简单的方法,是求较少时适用的,如果多时就不行了超时,还有一种方法等有时间上提交看看……数论起步!!!吧……#include #include #include #include #include #include #include #include #include #include #include #include using name

2013-10-20 23:10:59 669

原创 HDU 1163(即周赛F题)数论数根

这题刚开始不知道是数论中的知识,数论没学多少,然后用了老方法,老超时,然后后面才知道有结论的……感觉数论有点神啊……数论:某数的九余数等于该数各位和的九余数,如此循环调用,正好与本题求数根相同。因此求数根就是该数的九余数。不过当该数能被九整除时,数根应该为九。两数乘积的九余数等于两数九余数的乘积(当然必要时需要再次求余)。#include #include

2013-10-20 23:02:26 855

原创 project euler problem 35求一个数的所有循环数都是素数的总共有多少个

这题刚开始想到的是怎么求出这些循环数,然后求出来以后判断就容易多了。但是刚开始想的是用取模和相除的求出的循环数,但是有点麻烦,而且程序总有点问题,所以我就想了另外的一个思路。以前记得做题的时候有道题也是关于循环数的,而循环数可以先把它变成字符串,然后这个字符串再连接自己的字符串,如:15234,连接后为:1523415234,然后就可以知道这些循环数了,即第二个数为从第二位取5个数为:52341,

2013-10-20 16:33:25 873

原创 project euler problem 32又是暴搜

感觉20到30题都是暴力搜索…………#include #include #include #include #include #include #include #include #include #include #include #include using namespace std;int main(){ int i,sum=0,sum1,a[10]

2013-10-20 15:18:33 523

原创 project euler problem 30

Digit fifth powersProblem 30Surprisingly there are only three numbers that can be written as the sum of fourth powers of their digits:1634 = 14 + 64 + 34 + 448208 = 84 + 24 + 04 + 84

2013-10-20 14:08:28 619

原创 project euler problem 29数的多次幂的重复个数

Distinct powersProblem 29Consider all integer combinations of ab for 2  a  5 and 2  b  5:22=4, 23=8, 24=16, 25=3232=9, 33=27, 34=81, 35=24342=16, 43=64, 44=256, 45=102452=25, 53=

2013-10-20 13:35:32 879

原创 COJ 1031木材加工(二分)

这题类似上周的周赛的第一题:HDU 1969,周赛A题也是用的二分,而且解法和这题极其相似,要是这题做过的话,周赛那题也许就有思路会做了……做题不是太少了!加油吧!!!#include #include #include #include #include #include #include #include #include #include #include #inc

2013-10-19 18:32:46 852

原创 UVA 11300

题意:圆桌旁坐着n个人,每人有一定数量的金币,金币总能被n整除。每个人可以给他左右相邻的人一些金币,最终使每个人的金币相等。输出被转手金币数量的最小值。64位范围内。思路:这个挺难理解的……慢慢理解吧……#include #include #include #include #include #include #include #include #include #inc

2013-10-18 22:30:36 574

原创 UVA 11729突击战(贪心)

思路:要时间最短,即要求尽量多的任务同时进行,则把执行时间由大到小排序即可。#include #include #include #include #include #include #include #include #include #include #include #include using namespace std;struct abc{ in

2013-10-18 22:02:56 656

原创 UVA 11292 勇者斗恶龙

算法竞赛入门练习题……知道怎么做了,交了多次都不行,就一点点不一样,都过不了,而且是输出形式不太什么都过不了,终于感觉到了UVA的严谨了……#include #include #include #include using namespace std;const int M=20005;int a[M],b[M];int main(){ int n,m; whi

2013-10-17 14:31:34 780

原创 HDU 1969二分(周赛A题)

这题感觉手算还可以,不过用代码就有点晕了,刚开始不知道是二分,感觉用手算没用到二分啊,所以就没想到二分……唉 做题还是太少了努力吧……#include #include #include #include #include #include #include #include #include #include #include #include using names

2013-10-15 22:51:30 506

原创 POJ 1852数学计算(周赛B题)

这题竞赛的时候还觉得有点麻烦呢 木想到挺容易的,刚开始我是想直接sort排序然后找到最小的,然后长度l减去这个最小的就得最长的时间了;而最短的时间是想依次遍历,如果大于长度l的一半的这个数设为a,刚a=l-a,然后再把所有的排序找到最大的就是最短的时间了,,,,但是没想到别人的代码三句话就搞定了……服啊……#include #include #include #include #inc

2013-10-15 22:01:30 757

原创 HDU 1231最大连续子序列(周赛F题)

这题挺气人的,比赛的时候编了提交了好多次都不知道哪里错了,搞了两天才知道自己的代码哪里错了看了队友的发现他的方法确实很好,参考他的方法……我试了用了下DP,但是就是提交不过,真的晕死……#include #include #include #include #include #include #include #include #include #include #incl

2013-10-15 16:55:36 648

原创 最长上升子序列LIS

问题描述:给出一个序列a1,a2,a3,a4,a5,a6,a7....an,求它的一个子序列(设为s1,s2,...sn),使得这个子序列满足这样的性质,s1例如有一个序列:1  7  3  5  9  4  8,它的最长上升子序列就是 1 3 4 8 长度为4.算法1:动态规划:时间复杂度:(n^2):我们依次遍历整个序列,每一次求出从第一个数到当前这个数的最长上升子序列,直

2013-10-14 22:07:29 640

原创 POJ 2352数状数组(一维)

StarsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 27677 Accepted: 12099DescriptionAstronomers often examine star maps where stars are represented b

2013-10-13 15:40:01 601

原创 HDU 1166数状数组(一维)或者线段树

敌兵布阵Time Limit: 1000msMemory Limit: 32768KBC国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人

2013-10-13 14:19:32 616

原创 COJ 1383 STL中的set

[STL][007]字符串查找Time Limit: 5000 ms     Memory Limit: 65536 KBTotal Submit: 40     Accepted: 1 Description现在给你一个字典,再给出几个字符串,让你查找,这些字符串是否在其中。Input第一行是两个整数M,N分别表示字典数和字符串数。第2至第M+1行,每一行是一

2013-10-12 23:46:26 655

原创 COJ 1373 STL中的map每日四水

统计字母,水题……#include #include #include #include #include #include #include #include #include #include #include using namespace std;int main(){ mapp; map::iterator it; char k,a[

2013-10-12 22:04:47 623

原创 COJ 1285 STL中的map每日三水(无限个输入按哪个快捷键得输出)

[STL]首富Time Limit: 3000 ms     Memory Limit: 65536 KBTotal Submit: 129     Accepted: 39 Description世界上有钱的人很多,但总会被评出一个世界首富。比如Bill Gates就多年被评为世界首富。但是首富的钱是不固定的,有时候赚钱,有时候赔钱。现在我们知道很多很多首富的

2013-10-12 18:53:22 713

原创 COJ 1236 STL中的map每日二水

[STL][003]又见A + BTime Limit: 1000 ms     Memory Limit: 65536 KBTotal Submit: 55     Accepted: 48 Description读入两个小于100的正整数A和B,计算A+B.需要注意的是:A和B的每一位数字由对应的英文单词给出.Input测试输入包含若干测试用例,每个测试用例

2013-10-12 17:53:42 629

原创 COJ 1151 STL中的stack每日一水

X则入栈,Y则出栈,判断到最后一个字母时是不是为空,非空输出Joopoo,空输出pzjay.#include #include #include #include #include #include #include #include #include #include #include #include using namespace std;int main(

2013-10-12 16:14:12 632

原创 HDU 4323 编辑距离DP

Magic NumberTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1333    Accepted Submission(s): 562Problem DescriptionThere are many mag

2013-10-11 23:04:25 755

原创 POJ 3461和COJ 1248 KMP算法

【算法实验项目】串匹配问题Time Limit: 1000 ms     Memory Limit: 65536 KBTotal Submit: 31     Accepted: 5 Description给定一个文本,在该文本中查找并定位任意给定字符串。Input有两行。第一行为主串S,(长度大于1,不大于1000000)第二行为子串T,(长度大于1,不大

2013-10-11 17:31:00 757

原创 project euler problem 28

Number spiral diagonalsProblem 28Starting with the number 1 and moving to the right in a clockwise direction a 5 by 5 spiral is formed as follows:21 22 23 24 2520  7  8  9 1019  6  1

2013-10-11 13:03:33 622

原创 project euler problem 24

刚开始用了康托计算的,但是一直不对,郁闷死了,然后直接用了next_permutation,因为1000000,所以还担心时间超时呢,但是一运行就很快,直接就用这函数了哈哈……#include #include #include #include //包含优先队列#include #include #include #include #include #include #

2013-10-10 22:53:43 769

原创 POJ 2572字符串string的成员函数

题意:就是这个数反转过来相加若相等刚输出true,否则false……如:73+42=16则:37+24=16等式成立,所以输出true#include #include #include #include //包含优先队列#include #include #include #include #include #include #include #include

2013-10-10 21:44:51 981

转载 康托展开

此内容从http://blog.csdn.net/zhongkeli/article/details/6966805转载康托展开  康托展开的公式是 X=an*(n-1)!+an-1*(n-2)!+...+ai*(i-1)!+...+a2*1!+a1*0! 其中,ai为当前未出现的元素中是排在第几个(从0开始)。  这个公式可能看着让人头大,最好举个例子来说明一下。例如,有一个数组

2013-10-10 15:31:42 547

原创 COJ 1484合并排序set

[STL][004]合并排序Time Limit: 1000 ms     Memory Limit: 65536 KBTotal Submit: 162     Accepted: 108 Description给出一组数字,当有两个或两个以上相同数字时将两个数字合并,然后按照从小到大的顺序对数字进行排序。Input第一行输入一个整数T,表示排序数字个数;接下来一

2013-10-10 14:36:46 678

空空如也

空空如也

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

TA关注的人

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