xyoj
irastra
这个作者很懒,什么都没留下…
展开
-
xyoj 2124:珍惜现在,感恩生活
题目描述急!灾区的食物依然短缺!为了挽救灾区同胞的生命,心系灾区同胞的你准备自己采购一些粮食支援灾区,现在假设你一共有资金n元,而市场有m种大米,每种大米都是袋装产品,其价格不等,并且只能整袋购买。请问:你用有限的资金最多能采购多少公斤粮食呢?--------------------------------------------------------------原创 2014-07-16 23:56:22 · 1204 阅读 · 0 评论 -
笔试编程总结
1.现在将,有颜色的球放在一条直线上,球的颜色只有红色,黑色,并且每种球都是无限多的。如过现在一行球共有n个,那么没有三种相同颜色球相连的共有多少种?当前球数为n时。An 前两种球颜色相同。Bn 前两种球颜色不同。我的思路:递推A3 = B3 = 2;An = B(n-1)(n>3);Bn = A(n-1) + B(n-1);#include using name原创 2015-10-23 22:40:02 · 742 阅读 · 0 评论 -
线段长度
1.一维空间之中(L),存在若干条线,表示为(l,r)[r>=l],指从l到r的线,这条线长度为r-l,给定n条这样的线,他们之间如果相交,那么长度就是最后的表现形式,如:(2,8) (1,5) ,则长度为8-1+1=9。 (3,6) (3,4) ,侧长度为6-3+1=4。这样,求出所有的n条线的总长度。输入:n,以后有n个输入每一个为a,b (b>=a) 但是不保证两次输原创 2015-10-23 12:19:09 · 1192 阅读 · 0 评论 -
loj幂方分解
问题描述 任何一个正整数都可以用2的幂次方表示。例如: 137=27+23+20 同时约定方次用括号来表示,即ab 可表示为a(b)。 由此可知,137可表示为: 2(7)+2(3)+2(0) 进一步:7= 22+2+20 (21用2表示) 3=2+20 所以最后137可表示为: 2(2(2)+2+2(0))+2(2+2(0))+2(0) 又如: 131原创 2014-06-16 16:40:28 · 851 阅读 · 0 评论 -
以汉诺塔来理解递归
汉诺塔(又称河内塔)是一款WP7平台上源于印度一个古老传说的益智类游戏。传说 [1]上帝创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上安大小顺序摞着64片黄金圆盘。上帝命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。 对于一个汉诺塔,的解决如图,仔细观察其操作,原创 2014-06-16 16:40:07 · 734 阅读 · 0 评论 -
天平称量假币
有一个天平,需要在最少的次数中找到n个硬币中的一个假币.分析.1.天平两端放同样多的硬币才能进行判断2.每次操作都将原有n个硬币分为leftn做盘硬币个数,rightn右盘硬币个数.lastn剩余硬币个数.则的d[n],表示有n个硬币时的最少称量次数.d[n]=max{d[leftn],d[rightn],d[lastn]}+1;可以动归由于形势较为简单可以判断当使得d[n]最小原创 2014-06-16 16:40:26 · 1493 阅读 · 0 评论 -
log翻硬币
若果有一组硬币,(假定有十个),每个硬币只有两个面,正面用以表示,反面用零表示.给定目标(初始状态)1111100000 正正正正正反反反反反 (目标状态) 1000011101 目标若果每次只可以,转动相邻的两个硬币(他们各自成为原来的对立面)问题,至少用多少次就可以达到目的.将每一种状态标记为,每一次的硬币翻动(1-9)状态i,都会使,当前状态变为另一种状态状态原创 2014-10-16 20:16:19 · 924 阅读 · 0 评论 -
loj 筛法求幸运数
问题描述幸运数是波兰数学家乌拉姆命名的。它采用与生成素数类似的“筛法”生成。首先从1开始写出自然数1,2,3,4,5,6,....1 就是第一个幸运数。我们从2这个数开始。把所有序号能被2整除的项删除,变为:1 _ 3 _ 5 _ 7 _ 9 ....把它们缩紧,重新记序,为:1 3 5 7 9 ....。这时,3为第2个幸运数,然后把所有能被3整除的序号位置的数删去。注意,是原创 2014-06-16 16:40:23 · 804 阅读 · 0 评论 -
10000位内高精度乘法(大数乘法)1…
#include#include#define size 10000+2#define truesize size-1-1int ans[size*size*100]={0};int multiply(char a[size],int sa,char b[size],int sb){ int i,j,k,pa,pb,ec=0; long last=0; for(i=0;(pa=tr原创 2014-06-16 16:40:21 · 1192 阅读 · 0 评论 -
大数乘法
大数乘法:由于计算机的存储量有限,当你要计算的的数值或者输入的数值超过一个最大容量(目前是long),存储,就会出错因此不能直接得到大数乘法.我们要得到大数成法,应该另想办法.仔细观察乘法元算,如:625*625如果有int a[]={6,2,5};int b[]={6,2,5};那么结果c[MAXLEN]={0};中的每一位,则为c[i+j]+=a[i]*b[j];全做完原创 2014-06-16 16:40:09 · 630 阅读 · 0 评论 -
最大子段和
/* 再给顶的n个数的数组中选出连续的若干个数,使得他们的和是最大的,即最大连续自序列和. 我的思路. 1.最大连续子序列的开头是在1...n之中.的最大连续和 2.求出以i,开头的最大连续和,此时开头已经确定了,那麽通过枚举结尾j[i,j]之间记录最大连续的i->j的和max[i] 3.在所有以i开头的连续最大和中求出最大的一个即可. */#include #define max原创 2014-09-24 20:47:56 · 733 阅读 · 0 评论 -
xyoj 6042:让人头疼的“双十一”
题目描述双十一就这样轰轰烈烈的来了,对于一个买东西只靠网购的资深宅男小灰灰来说,这的确是个令人兴奋的事情。而现在的小灰灰却是痛并快乐着,因为本就干瘪的钱包实在挤不出多少money用来购物了,谁叫他把钱都用来买纸了呢....话说钱到用时方恨少,小灰灰处在深深的忧虑中,不知道怎样才能用剩下的钱买到最有价值的东西,各位小伙伴你们能把他搞定这件事吗输入格式原创 2014-07-14 23:20:07 · 2666 阅读 · 0 评论 -
xyoj 1130:拔河
题目描述小明班里要举行一次拔河比赛,班主任决定将所有人分为两队,每个人都必须参加。两个队伍的人数之差不能超过1,并且两个队伍的体重之和要尽可能相近,当然相同是最好的了。输入格式输入包含多组测试数据。每组输入的第一行是一个正整数n(2接下来n行,每行输入一个整数w(1输出对于每组输入,分别输出两个队伍的体重之和,按升序排序。样例输入原创 2014-07-14 22:38:50 · 1690 阅读 · 0 评论 -
loj集合操作
问题描述 给出两个整数集合A、B,求出他们的交集、并集以及B在A中的余集。输入格式 第一行为一个整数n,表示集合A中的元素个数。 第二行有n个互不相同的用空格隔开的整数,表示集合A中的元素。 第三行为一个整数m,表示集合B中的元素个数。 第四行有m个互不相同的用空格隔开的整数,表示集合B中的元素。 集合中的所有元素均为int范围内的整数,n、m<=1000。输出格式原创 2014-06-16 16:40:30 · 767 阅读 · 0 评论 -
uva10069 DistinctSubsequeces
#include #include int dp[10001][101]={0};int slove(char x[],char z[]){ int m=strlen(z); int n=strlen(x); int count=0; int i,j,k; memset(dp,0,sizeof(dp)); for(i=0;i<n;i++){ for(j=0;j<m;j++){原创 2014-07-21 23:51:33 · 919 阅读 · 0 评论 -
poj 2533 Longest Ordered Subsequence(最长上升子序列)
Problem: 2533 User: 04123140Memory: 408K Time: 32MSLanguage: GCC Result: AcceptedSource Code#include #include #define size 2000int str[size];int d[size]={0};int main (){ int n,i,max; whi原创 2014-07-18 23:13:12 · 750 阅读 · 0 评论 -
Vijos P1180选课 解题报告
描述学校实行学分制。每门的必修课都有固定的学分,同时还必须获得相应的选修课程学分。学校开设了N(N在选修课程中,有些课程可以直接选修,有些课程需要一定的基础知识,必须在选了其它的一些课程的基础上才能选修。例如《Frontpage》必须在选修了《Windows操作基础》之后才能选修。我们称《Windows操作基础》是《Frontpage》的先修课。每门课的直接先修课最多只有一门。两门课也原创 2014-07-19 00:46:35 · 1414 阅读 · 0 评论 -
xyoj 1132:最长公共子序列
题目描述给你一个序列X和另一个序列Z,当Z中的所有元素都在X中存在,并且在X中的下标顺序是严格递增的,那么就把Z叫做X的子序列。例如:Z=是序列X=的一个子序列,Z中的元素在X中的下标序列为。现给你两个序列X和Y,请问它们的最长公共子序列的长度是多少?输入格式输入包含多组测试数据。每组输入占一行,为两个字符串,由若干个空格分隔。每个字符串的长度不超过100。原创 2014-07-15 23:57:24 · 3451 阅读 · 0 评论 -
高效率集合BitSet
1,有一个连起来的项链,每个珠子都有一种颜色(所有颜色共有m种),珠子共有n个,需要给出一个最小的长度l,从某个位置开始连续l个,包含了所有的m种颜色。从任意位置断开后变成链,处理时最后求余在化为圆形。最简单的方法枚举,但是需要O(n3)因此考虑.color[x],为地x个珠子的颜色。若记s(j,i)为起点为j,长度为i的颜色集合。ans[j][i]为从j长度为i的颜色个数原创 2015-10-23 23:04:04 · 1238 阅读 · 0 评论