Algorithm
wangqisen
这个作者很懒,什么都没留下…
展开
-
关于拦截器,拦截器栈,单例与工厂模式等等
这几天搞得太累了,就不言语了。以后有空来补。还有就是差两道算法题。原创 2013-05-16 22:52:19 · 509 阅读 · 0 评论 -
qsort()的用法之1007 DNA Sorting
#include #include#include using namespace std;class DNA{public: char seqDNA[51]; int num;};void setDnaNum(char strDna[],DNA*d);int compare(const void*p1,const void*p2){ return ((DNA*)p1)->原创 2013-09-05 22:38:32 · 422 阅读 · 0 评论 -
暴搜之1980 Unit Fraction Partition
Unit Fraction PartitionTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 3824 Accepted: 1500DescriptionA fraction whose numerator is 1 and whose denominat原创 2013-09-13 15:57:40 · 594 阅读 · 0 评论 -
约瑟夫环问题
为了讨论方便,先把问题稍微改变一下,并不影响原意:问题描述:n个人(编号0~(n-1)),从0开始报数,报到(m-1)的退出,剩下的人继续从0开始报数。求胜利者的编号。我们知道第一个人(编号一定是m%n-1) 出列之后,剩下的n-1个人组成了一个新的约瑟夫环(以编号为k=m%n的人开始): k k+1 k+2 ... n-2, n-1, 0, 1, 2, ... k-2并且原创 2013-09-15 15:26:44 · 391 阅读 · 0 评论 -
1159Palindrome之求最大子序列dp
PalindromeTime Limit: 3000MS Memory Limit: 65536KTotal Submissions: 48933 Accepted: 16817DescriptionA palindrome is a symmetrical string, that is, a string read i原创 2013-10-01 21:24:42 · 590 阅读 · 0 评论 -
水题1099之Square Ice
Square IceTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 3450 Accepted: 1355DescriptionSquare Ice is a two-dimensional arrangement of water molecules H原创 2013-09-16 20:37:20 · 760 阅读 · 0 评论 -
搜索或者动态规划均可做之1015 Jury Compromise
Jury CompromiseTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 23478 Accepted: 6080 Special JudgeDescriptionIn Frobnia, a far-away country, the verd原创 2013-09-17 18:29:33 · 528 阅读 · 0 评论 -
1018 Communication System
Communication SystemTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 21187 Accepted: 7524DescriptionWe have received an order from Pizoor Communications原创 2013-09-18 20:16:27 · 464 阅读 · 0 评论 -
Triangle War 1085
Triangle WarTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 2508 Accepted: 983DescriptionTriangle War is a two-player game played on the following trian原创 2013-09-27 11:03:48 · 441 阅读 · 0 评论 -
1088 之滑雪
滑雪Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 69151 Accepted: 25509DescriptionMichael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等原创 2013-09-29 10:17:50 · 566 阅读 · 0 评论 -
暴搜典型之1683 Puzzlestan
这是一道典型的搜索剪枝型的题目。代码如下,我并没有要求输入字母那一项,直接以我排好的ABCDEFGHIJKLMN来代替。代码如下:#include using namespace std;#define MAXNUM 100#define MAXVALUE 255int V[MAXNUM][MAXNUM];char str[]="ABCDEFGHIJKLMNOPQRSTUVWXY原创 2013-09-12 16:53:21 · 490 阅读 · 0 评论 -
大数相乘之1001
并没有去符合极端的测试用例,而是针对最典型的输入来写的。好久没有开搞了,这个是开学来的第一篇博文。就这样吧。ExponentiationTime Limit: 500MS Memory Limit: 10000KTotal Submissions: 121829 Accepted: 29766Description原创 2013-09-04 23:38:55 · 444 阅读 · 0 评论 -
求欧拉道路的算法
#include using namespace std;#define MAXN 50int G[MAXN][MAXN],visit[MAXN][MAXN];void input();void euler(int u);int m,n;int main(){ input(); euler(0);//求从零这个顶点开始的欧拉道路}void input(){原创 2013-05-10 21:57:40 · 649 阅读 · 0 评论 -
7.1.1暴力破解法之除法
#include using namespace std;int s1[6];int s2[6];int s3[11];int getdigit(int m,int n);void sort(int m[]);void sort(int m1[],int m2[]);int main(){ int n,i,j; cin>>n; for(i=0;i<1e6;i++){ fo原创 2013-05-10 22:46:49 · 614 阅读 · 0 评论 -
7.1.2
#include using namespace std;#define MAXN 20long start=1,end=1,n,s[MAXN];int f1,f2;long max;void input();void getMax();int main(){ while(true){ input(); getMax(); cout<<max<<endl; }}voi原创 2013-05-12 13:11:56 · 498 阅读 · 0 评论 -
硬币称重问题之POJ1013-Counterfeit Dollar
Counterfeit DollarTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 36491 Accepted: 11667DescriptionSally Jones has a dozen Voyageur silver dollars. Howev原创 2013-09-06 10:22:47 · 614 阅读 · 0 评论 -
01背包问题之二
P02: 完全背包问题题目有N种物品和一个容量为V的背包,每种物品都有无限件可用。第i种物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。基本思路这个问题非常类似于01背包问题,所不同的是每种物品有无限件。也就是从每种物品的角度考虑,与它相关的策略已并非取或不取两种,而是有取0件、取1件、取2件……等很多种。如果仍然按原创 2013-09-07 19:06:29 · 607 阅读 · 0 评论 -
01背包问题之一
题目有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]原创 2013-09-07 17:15:44 · 651 阅读 · 0 评论 -
背包问题以及DFS算法均可解之1014
DescriptionMarsha and Bill own a collection of marbles. They want to split the collection among themselves so that both receive an equal share of the marbles. This would be easy if all the marbles原创 2013-09-09 18:18:44 · 466 阅读 · 0 评论 -
搜索剪枝之1011
其实,搜索可以认为是DFS,递归穷举所有情况的同时,通过剪枝舍去那些不可能的情况,来降低搜索的复杂度。SticksTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 111462 Accepted: 25581DescriptionGeorge原创 2013-09-10 21:08:36 · 524 阅读 · 0 评论 -
原创吐槽之诸题
今天很郁闷,因为有很多数论的题目,在各种数学大神的面前,只能跪了。稍微欣慰的是,产生素数表的程序,一分钟搞定,贴上来:#includeusing namespace std;int n[100001];int main(){ for(int i=0;i<100001;i++) n[i]=1; n[0]=0; n[1]=0; for(int i=2;i<100001;i++原创 2013-09-10 18:28:09 · 578 阅读 · 0 评论 -
求数组中第k大的数组元素的各种方法总结
一、快排后取yi第k个元素即可二、原创 2014-05-26 16:39:07 · 718 阅读 · 0 评论