- 博客(54)
- 资源 (1)
- 收藏
- 关注
原创 高效率集合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
1242
原创 笔试编程总结
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
746
原创 变换的灯
有N个灯放在一排(编号从1到m),如果对灯执行n此i操作(i = 1,2,3....n),对于一次i操作的定义如下,将一次i操作定义为,(将编号为i的倍数的灯进行翻转,开到关,关倒开),那么如果开始所有灯都是关闭的,那么进行n次操,之后,会有多少个灯是打开的。我的思路:解法一:模拟.#define max_n 10000001int vis[max_n]; int solve_fi
2015-10-23 13:20:12
672
原创 线段长度
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
1194
原创 (模板)线段树set(a,b) query(a,b)
#include #include #define MAX_N 100000#define INF (-(MAX_N))typedef float Type;int ol,or;Type _min,_max,_sum,v;Type sumv[MAX_N],minv[MAX_N],maxv[MAX_N],addv[MAX_N],setv[MAX_N];Type max(Type
2015-04-04 11:00:47
767
原创 自然数质数(筛法求质数)分解个数母函数方法初探.
任何一个大于1的自然数n都可以携程都可以写成若干个大于等于2小于等于n的质数之和,并不只有一种形式.例如9就有四种形式.9 = 2 + 5 +2 = 2 + 3 +2 +2 = 3 + 3 +3= 2+ 7方法一:直接进行搜索(输入限制很大).方法二:构造下列母函数.G(x) = (1+x^2+x^4+x^6+.....x^(x/2)) (1+x^3+x^6+x^9+...
2015-03-23 20:53:32
888
原创 有序(循环)数组查找元素-二分查找法
1.我们将一个有序数组(n个元素)从i(号位置)之前放到n位置之后形成的数组为有序循环数组。2.数组 1 2 4 5 6 7 8 的有序循环数组有 1 2 4 5 6 7 8 (元数组是位置0处的有序循环数组). 2 4 5 6 7 8 1 4 5 6 7 8 1 2 5 6 7 8 1 2 4 6 7 8 1 2 4 5 7 8
2015-03-22 16:56:21
3813
1
原创 浅谈"对抗搜索"的alpha-beta 剪枝
1.对抗搜索在对弈中经常会遇到可能性很多而有没有规律的情况,这时可以对所有后续情况进行分析,选择当前对自己最有利的一中情况.如果两方A,B进行对弈,计算现在局面的分数(对A和B),如果两方处于对立,那么一定在一方分数高的同时另一方分数会低(每方都希望局面对自己有利),因此此时进计算A的分数,B的分数可以由A的分数反应(A高B低,A低B高),如果两个人足够聪明(知道N局以后可能的
2015-03-07 21:23:11
3824
原创 (模板)平衡二叉树
#include #include #include typedef struct t_type{ int hight; int blance; int val; struct t_type * lchild; struct t_type * rchild;}node;node * clue[200];in
2015-03-06 13:02:46
872
原创 无向图的边存储
1.在图中一条边包含有两个结点。2.一个结点可能相关n条边因此我们可以把每一个结点包含的边放到同意集合之中(此处已链表存放,此时用顶点v作为集合的表示,即为链表表头)其中一个边,和该边具有的两个结点作为集合中的一个元素。x nx n ny y,编号为n的边的相关的两个结点x,y,nx是指向下一个与x相关的元素,ny是指向与y相关的元素按照上述方法讲一个无向图划分为n个顶点为标识
2014-12-02 11:51:31
1524
原创 数字最小k分割(算法上机)
对于一个整数x,的最小k(分割次数)分割,是在(k(注意:对数字x的分割,对于任意分割位置两端必须有数字,即分割所在位置在数字之间,因为在数字两端相当于没有分割,并且任意数x的0,分割>他的k分割K>1证明:此时存在数字数字:a..b..a*10^x+b*10^y > (a*(10^(x-y)) * b*10^y (a*(10^(x-y)) +1> (a*(10^(x-y
2014-12-02 11:21:16
872
原创 linux 中的僵死进程和孤儿进程
当我们使用创建进程的函数fork(),vfork()等,创建了子进程1.子进程先于父亲进程退出,会造成子进程的进程编号无法释放.(进程编号的范围很大,但不应该随意浪费)2.子进程后于父亲进程退出,子进程会交给init()进程管理. 3.一个进程在执行完毕后,系统会自动清空其存在的进程的相关资源结合上面说明,一个僵死进程的例子.#include #include int
2014-11-08 21:01:52
927
原创 log翻硬币
若果有一组硬币,(假定有十个),每个硬币只有两个面,正面用以表示,反面用零表示.给定目标(初始状态)1111100000 正正正正正反反反反反 (目标状态) 1000011101 目标若果每次只可以,转动相邻的两个硬币(他们各自成为原来的对立面)问题,至少用多少次就可以达到目的.将每一种状态标记为,每一次的硬币翻动(1-9)状态i,都会使,当前状态变为另一种状态状态
2014-10-16 20:16:19
928
原创 c语言用rand() 函数,实现random(int m)
函数rand()是真正的随机数生成器,而srand()会设置供rand()使用的随机数种子。如果你在第一次调用rand()之前没有调用srand(),那么系统会为你自动调用srand()。而使用同种子相同的数调用 rand()会导致相同的随机数序列被生成。
2014-09-30 22:52:15
16849
原创 最大子段和
/* 再给顶的n个数的数组中选出连续的若干个数,使得他们的和是最大的,即最大连续自序列和. 我的思路. 1.最大连续子序列的开头是在1...n之中.的最大连续和 2.求出以i,开头的最大连续和,此时开头已经确定了,那麽通过枚举结尾j[i,j]之间记录最大连续的i->j的和max[i] 3.在所有以i开头的连续最大和中求出最大的一个即可. */#include #define max
2014-09-24 20:47:56
739
原创 poj 1179 Polygon
Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 4839 Accepted: 2032DescriptionPolygon is a game for one player that starts on a polygon with N vertices, like the one
2014-07-30 17:05:59
874
原创 poj1141 Brackets Sequence
Brackets SequenceTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 24949 Accepted: 7018 Special JudgeDescriptionLet us define a regular brackets sequenc
2014-07-28 11:46:54
1026
原创 poj 1700 Crossing River
Crossing RiverTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 10787 Accepted: 4064DescriptionA group of N people wishes to go across a river with only one
2014-07-24 14:47:37
1251
原创 JFrame背景图添加(不影响按钮或者其它组件)
package Frame;import java.awt.Image;import java.awt.Toolkit;import javax.swing.ImageIcon;import javax.swing.JFrame; import javax.swing.JLabel;class MyFramex extends JFrame{ public
2014-07-23 23:54:58
2578
原创 uva10003 Cutting Sticks解题报告
Cutting Sticks You have to cut a wood stick into pieces. The most affordable company, TheAnalog Cutting Machinery, Inc. (ACM), charges money according to the length ofthe stick being cut.
2014-07-22 00:48:12
1538
原创 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
924
原创 Vijos P1180选课 解题报告
描述学校实行学分制。每门的必修课都有固定的学分,同时还必须获得相应的选修课程学分。学校开设了N(N在选修课程中,有些课程可以直接选修,有些课程需要一定的基础知识,必须在选了其它的一些课程的基础上才能选修。例如《Frontpage》必须在选修了《Windows操作基础》之后才能选修。我们称《Windows操作基础》是《Frontpage》的先修课。每门课的直接先修课最多只有一门。两门课也
2014-07-19 00:46:35
1419
原创 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
754
原创 xyoj 2124:珍惜现在,感恩生活
题目描述急!灾区的食物依然短缺!为了挽救灾区同胞的生命,心系灾区同胞的你准备自己采购一些粮食支援灾区,现在假设你一共有资金n元,而市场有m种大米,每种大米都是袋装产品,其价格不等,并且只能整袋购买。请问:你用有限的资金最多能采购多少公斤粮食呢?--------------------------------------------------------------
2014-07-16 23:56:22
1207
原创 xyoj 1132:最长公共子序列
题目描述给你一个序列X和另一个序列Z,当Z中的所有元素都在X中存在,并且在X中的下标顺序是严格递增的,那么就把Z叫做X的子序列。例如:Z=是序列X=的一个子序列,Z中的元素在X中的下标序列为。现给你两个序列X和Y,请问它们的最长公共子序列的长度是多少?输入格式输入包含多组测试数据。每组输入占一行,为两个字符串,由若干个空格分隔。每个字符串的长度不超过100。
2014-07-15 23:57:24
3459
原创 xyoj 6042:让人头疼的“双十一”
题目描述双十一就这样轰轰烈烈的来了,对于一个买东西只靠网购的资深宅男小灰灰来说,这的确是个令人兴奋的事情。而现在的小灰灰却是痛并快乐着,因为本就干瘪的钱包实在挤不出多少money用来购物了,谁叫他把钱都用来买纸了呢....话说钱到用时方恨少,小灰灰处在深深的忧虑中,不知道怎样才能用剩下的钱买到最有价值的东西,各位小伙伴你们能把他搞定这件事吗输入格式
2014-07-14 23:20:07
2670
原创 xyoj 1130:拔河
题目描述小明班里要举行一次拔河比赛,班主任决定将所有人分为两队,每个人都必须参加。两个队伍的人数之差不能超过1,并且两个队伍的体重之和要尽可能相近,当然相同是最好的了。输入格式输入包含多组测试数据。每组输入的第一行是一个正整数n(2接下来n行,每行输入一个整数w(1输出对于每组输入,分别输出两个队伍的体重之和,按升序排序。样例输入
2014-07-14 22:38:50
1703
原创 win8 java开发环境配置
Java ecplise 开发环境搭建1.下载jdkhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html下载完成后,进行安装.
2014-07-13 00:12:56
1185
原创 c语言实现lower_bound和upper_bound
lower_bound(int A*,int l,int r,int val);对于有序数组求职为val的元素插入位置,第一个出现该元素的位置.分析:等待插入的元素是val,有序数列是A[](此处按照升序排列),寻找的范围是[l,r];如果查找区间只存在一个元素 l==r;时.只需要判断val>A[l]时返回插入下标是l+1:否则val否则如果存在lr为不合法的情况
2014-06-18 00:54:16
3334
原创 java连接数据库,Jtabel显示方法
packageBookManagerSoft;//要导入该包,里面包含了java程序与数据库连接的接口import java.sql.*;importjava.util.Vector;importjavax.swing.JTable;importjavax.swing.table.TableModel;class JDBCLinker {// TODO Auto-genera
2014-06-16 16:40:35
1458
原创 详细解说kmp,第五届蓝桥杯决赛第三题
题目就是补全代码.此处主要简单证明且叙述kmp原理.prefix[j] 存放当模式串匹配到j,位置与主串位置i,存在s[i]!=p[j]时,进行性下次操作只需要使得下次j=prefix[j],在与i,进行匹配.因此prefix[i]数组中存放这样的整数k使得有模式串p[1 to k-1] 与 p[(i-1)-(k-1)+1 to (i-1)] 完全匹配时的k如最上面图中的prefi
2014-06-16 16:40:32
880
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人