随笔 - 390,  文章 - 34,  评论 - 62,  阅读 - 139万

随笔分类 -  数据结构+算法

1 2 3 下一页
URLEncode与URLDecode总结与实现
摘要:URLEncode: 用于编码URL字符串,数字和字母保持不变,空格变为'+',其他(如:中文字符)先转换为十六进制表示,然后在每个字节前面加一个标识符%,例如:“啊”字 Ascii的十六进制是0xB0A1——>%B0%A1代码实现: 1 unsigned char CHAR_TO_HEX( un... 阅读全文
posted @ 2015-04-01 12:24 可笑痴狂 阅读(10312) 评论(0) 推荐(0) 编辑
Base64原理与实现
摘要:Base64编码说明 Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用'=',因此编码后输出的文本末尾可能会出现1或2个'='。 为了保证所输出的编码位... 阅读全文
posted @ 2015-03-31 09:05 可笑痴狂 阅读(1986) 评论(0) 推荐(0) 编辑
NYOJ-267 郁闷的C小加(二)
摘要:郁闷的C小加(二)时间限制:1000 ms | 内存限制:65535 KB难度:4描述聪明的你帮助C小加解决了中缀表达式到后缀表达式的转换(详情请参考“郁闷的C小加(一)”),C小加很高兴。但C小加是个爱思考的人,他又想通过这种方法计算一个表达式的值。即先把表达式转换为后缀表达式,再求值。这时又要考虑操作数是小数和多位数的情况。输入第一行输入一个整数T,共有T组测试数据(T 2 #include 3 #include 4 #include 5 #include 6 7 using namespace std; 8 9 char str[1005]; 10 stack... 阅读全文
posted @ 2013-06-30 16:58 可笑痴狂 阅读(500) 评论(0) 推荐(0) 编辑
范围统计问题
摘要:范围统计问题(参考刘汝佳《算法竞赛入门经典》P146)问题描述: 给出 n 个整数和 m 次询问,对于每次询问 (a, b), 输出闭区间 [a, b] 内的整数的个数分析: 预处理: 把数据存在数组里并从小到大排序 问题一: 大于等于 a 的第一个元素的下标 L 是什么? 它等于 a 的lower_bound 值。 如果所有元素都小于a,则 L = n,相当于把不存在的元素看做无穷大。 问题二: 小于等于b 的最后一个元素的 "下一个下标" R 是什么? 它等于 b 的... 阅读全文
posted @ 2013-04-16 17:31 可笑痴狂 阅读(335) 评论(0) 推荐(0) 编辑
最大值最下化
摘要:目标:学会用猜数字(二分)的方法,换个角度来解决问题(参考刘汝佳的<<算法入门经典>>P151)问题描述: 把一个包含n个正整数的序列划分成m个连续的子序列(每个正整数恰好属于一个序列)。 设第i个序列的各数之和为S(i),你的任务是让所有S(i)的最大值尽量小。 例如序列1 2 3 2 5 4划分为3个子序列的最优方案为 1 2 3 | 2 5 | 4, 其中S(1),S(2),S(3)分别为6,7,4,那么最大值为7; 如果划分为 1 2 | 3 2 | 5 4,则最大值为9,不是最小。问题分析: 能否使m个连续子序列所有的s(i)均不超过x,则该命题成立的最小的x 阅读全文
posted @ 2013-04-16 17:04 可笑痴狂 阅读(505) 评论(0) 推荐(0) 编辑
NYOJ-120 校园网络(强连通缩点targan算法)
摘要:校园网络时间限制:3000 ms | 内存限制:65535 KB难度:5描述南阳理工学院共有M个系,分别编号1~M,其中各个系之间达成有一定的协议,如果某系有新软件可用时,该系将允许一些其它的系复制并使用该软件。但该允许关系是单向的,即:A系允许B系使用A的软件时,B未必一定允许A使用B的软件。现在,请你写一个程序,根据各个系之间达成的协议情况,计算出最少需要添加多少个两系之间的这种允许关系,才能使任何一个系有软件使用的时候,其它所有系也都有软件可用。输入第一行输入一个整数T,表示测试数据的组数(T<10)每组测试数据的第一行是一个整数M,表示共有M个系(2<=M<=100) 阅读全文
posted @ 2013-04-14 00:05 可笑痴狂 阅读(1137) 评论(0) 推荐(0) 编辑
NYOJ-117 求逆序数
摘要:求逆序数时间限制:2000ms | 内存限制:65535KB难度:5描述在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。现在,给你一个N个元素的序列,请你判断出它的逆序数是多少。比如 1 3 2 的逆序数就是1。输入第一行输入一个整数T表示测试数据的组数(1<=T<=5)每组测试数据的每一行是一个整数N表示数列中共有N个元素(2〈=N〈=1000000)随后的一行共有N个整数Ai(0<=Ai<1000000000),表示数列中的所有元素。数据保证在多组测试数据中,多于10万个数 阅读全文
posted @ 2013-03-06 22:24 可笑痴狂 阅读(516) 评论(0) 推荐(0) 编辑
算法合集之《信息学中守恒法的应用》(不错的文章保存一下)
摘要:算法合集之《信息学中守恒法的应用》(不错的文章保存一下)by三江小渡【摘要】本文提出和总结了“守恒法”,以及它在信息学竞赛中的一些应用。守恒的本质是寻找变化中的不变量。守恒法能帮助我们跳过、避开纷繁复杂的细节,直接看透问题的本质。【关键字】守恒法 不变量【正文】一、 引言现实生活和实际问题是纷繁复杂的。问题1 两个质量相等的小球,速度分别为5m/s, 4m/s,他们相向运动,完全弹性碰撞之后速度分别变成多少?问题2 10g C 和10g O2在密闭容器中反应一个小时。最后的总质量是多少?问题1 我们大概耳熟能详:动量守恒、动能守恒,两个方程就能解出速度。实际上小球碰撞的过程是复杂的,究竟两对力 阅读全文
posted @ 2013-03-04 17:17 可笑痴狂 阅读(2054) 评论(0) 推荐(1) 编辑
HDOJ-2068 RPG的错排
摘要:RPG的错排Time Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4631Accepted Submission(s): 1895Problem Description今年暑假杭电ACM集训队第一次组成女生队,其中有一队叫RPG,但做为集训队成员之一的野骆驼竟然不知道RPG三个人具体是谁谁。RPG给他机会让他猜猜,第一次猜:R是公主,P是草儿,G是月野兔;第二次猜:R是草儿,P是月野兔,G是公主;第三次猜:R是草儿,P是公主,G是月野兔;...... 阅读全文
posted @ 2012-12-02 10:44 可笑痴狂 阅读(534) 评论(0) 推荐(0) 编辑
HDOJ-2079 选课时间(题目已修改,注意读题)
摘要:选课时间(题目已修改,注意读题)Time Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1857Accepted Submission(s): 1493Problem Description又到了选课的时间了,xhd看着选课表发呆,为了想让下一学期好过点,他想知道学n个学分共有多少组合。你来帮帮他吧。(xhd认为一样学分的课没区别)Input输入数据的第一行是一个数据T,表示有T组数据。每组数据的第一行是两个整数n(1 6 #include 7 ... 阅读全文
posted @ 2012-12-01 21:57 可笑痴狂 阅读(611) 评论(0) 推荐(0) 编辑
HDOJ -2035 人见人爱A^B
摘要:人见人爱A^BTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 13930Accepted Submission(s): 9852Problem Description求A^B的最后三位数表示的整数。说明:A^B的含义是“A的B次方”Input输入数据包含多个测试实例,每个实例占一行,由两个正整数A和B组成(1<=A,B<=10000),如果A=0, B=0,则表示输入数据的结束,不做处理。Output对于每个测试实例,请输出A^B的 阅读全文
posted @ 2012-12-01 17:04 可笑痴狂 阅读(421) 评论(0) 推荐(0) 编辑
NYOJ-148 fibonacci数列(二)
摘要:fibonacci数列(二)时间限制:1000ms | 内存限制:65535KB难度:3描述In the Fibonacci integer sequence,F0= 0,F1= 1, andFn=Fn− 1+Fn− 2forn≥ 2. For example, the first ten terms of the Fibonacci sequence are:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, …An alternative formula for the Fibonacci sequence is.Given an integern, your goal is 阅读全文
posted @ 2012-11-25 12:17 可笑痴狂 阅读(377) 评论(0) 推荐(0) 编辑
NYOJ-21 三个水杯
摘要:三个水杯时间限制:1000ms | 内存限制:65535KB难度:4描述给出三个水杯,大小不一,并且只有最大的水杯的水是装满的,其余两个为空杯子。三个水杯之间相互倒水,并且水杯没有标识,只能根据给出的水杯体积来计算。现在要求你写出一个程序,使其输出使初始状态到达目标状态的最少次数。输入第一行一个整数N(0<N<50)表示N组测试数据接下来每组测试数据有两行,第一行给出三个整数V1 V2 V3 (V1>V2>V3 V1<100 V3>0)表示三个水杯的体积。第二行给出三个整数E1 E2 E3 (体积小于等于相应水杯体积)表示我们需要的最终状态输出每行输出相应测 阅读全文
posted @ 2012-11-25 12:06 可笑痴狂 阅读(2557) 评论(0) 推荐(0) 编辑
子集生成算法
摘要:输入n输出1到n这个集合中包含的所有子集/*//方法一://思路:构造一个位向量visit,而不是直接构造子集A本身#include<iostream>using namespace std;void fun(int *visit, int cur, int n){ if(cur == n+1) { for(int i = 1;i <= n;++ i) if(visit[i]) cout << i << ' '; cout<<endl; return; } visit[cur]... 阅读全文
posted @ 2012-11-01 22:26 可笑痴狂 阅读(2962) 评论(1) 推荐(0) 编辑
HDU 1520 Anniversary party ----树形dp
摘要:Anniversary partyTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2225Accepted Submission(s): 963Problem DescriptionThere is going to be a party to celebrate the 80-th Anniversary of the Ural State University. The University has a hierarchical struc 阅读全文
posted @ 2012-10-20 09:48 可笑痴狂 阅读(439) 评论(0) 推荐(0) 编辑
POJ-1251 Jungle Roads
摘要:Jungle RoadsTime Limit: 1000MSMemory Limit: 10000KTotal Submissions: 15610Accepted: 6988DescriptionThe Head Elder of the tropical island of Lagrishan has a problem. A burst of foreign aid money was spent on extra roads between villages some years ago. But the jungle overtakes roads relentlessly, so 阅读全文
posted @ 2012-08-24 14:08 可笑痴狂 阅读(2048) 评论(0) 推荐(0) 编辑
NYOJ -55 懒省事的小明
摘要:懒省事的小明时间限制:3000 ms | 内存限制:65535 KB难度:3描述 小明很想吃果子,正好果园果子熟了。在果园里,小明已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。小明决定把所有的果子合成一堆。 因为小明比较懒,为了省力气,小明开始想点子了: 每一次合并,小明可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1次合并之后,就只剩下一堆了。小明在合并果子时总共消耗的体力等于每次合并所耗体力之和。 因为还要花大力气把这些果子搬回家,所以小明在合并果子时要尽可能地节省体力。假定每个果子重量都为1,并且已知果子的种类数和每种果子的... 阅读全文
posted @ 2012-08-13 22:42 可笑痴狂 阅读(333) 评论(0) 推荐(0) 编辑
NYOJ-19 擅长排列的小明 -----回溯
摘要:擅长排列的小明时间限制:1000 ms | 内存限制:65535 KB难度:4描述小明十分聪明,而且十分擅长排列计算。比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想为难他,在这5个数字中选出几个数字让他继续全排列,那么你就错了,他同样的很擅长。现在需要你写一个程序来验证擅长排列的小明到底对不对。输入第一行输入整数N(1<N<10)表示多少组测试数据,每组测试数据第一行两个整数 n m (1<n<9,0<m<=n)输出在1-n中选取m个字符进行全排列,按字典序全部输出,每种排列占一行,每组数据间不需分界。如样例样例输入23 14 2样例输出 阅读全文
posted @ 2012-08-13 22:00 可笑痴狂 阅读(293) 评论(1) 推荐(0) 编辑
HDOJ-1800 Flying to the Mars(贪心 + 字典树 + BST)
摘要:Flying to the MarsTime Limit: 5000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 6271Accepted Submission(s): 2053Problem DescriptionIn the year 8888, the Earth is ruled by the PPF Empire . As the population growing , PPF needs to find more land for the newborns . 阅读全文
posted @ 2012-08-10 16:28 可笑痴狂 阅读(1666) 评论(2) 推荐(0) 编辑
POJ 2359 Questions
摘要:QuestionsTime Limit: 1000MSMemory Limit: 65536KTotal Submissions: 1096Accepted: 394DescriptionHolding a collegiate programming contest is a very exhausting work. There is a well-known proverb that one fool can ask so many questions that a hundred clever men will not answer. And during a collegiate p 阅读全文
posted @ 2012-08-06 09:15 可笑痴狂 阅读(387) 评论(0) 推荐(0) 编辑

1 2 3 下一页

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示