自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (1)
  • 收藏
  • 关注

原创 hdu1950 最大上升子序列

题目:求最大的连续上升子序列。思路:直接二分求,白皮书有详细讲解#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;#define maxn

2015-12-31 19:29:41 736

原创 FZU2216 最长连续子序列

题目大意:给定一个序列,长度为n,所有数据大小不超过m,若为0则代表可以是任意数,问最长的连续子序列是多长,(2,3,4,5,)为连续思路:设数组g[i]表示前i个自然数中0的个数,初始化g时若i被访问则g[i]=g[i-1],否则g[i]=g[i-1]+1.那么结果就是从0到m遍历找到g[i]+num(0的个数)的最小上界即可。#include #include #inclu

2015-12-31 13:12:31 637

原创 查看自己oracle的service_name

在sql plus 登录SYS ,输入命令 SHOW PARAMETER service_names即可

2015-12-30 23:13:30 16671

原创 hdu1159 LCS最长公共子序列

题目大意:求两个字符串a,b的最大公共子序列,子序列定义为可不连续但顺序不乱思路:动态规划,dp[i][j]表示a[0……i-1]和b[0……j-1]的LCS,枚举最后一个字母即a[i-1]和b[j-1],如果a[i-1] == b[j-1],则dp[i][j] = dp[i-1][j-1] + 1; 如果不相等,则dp[i][j] = max(dp[i-1][j],dp[i][j-1])..

2015-12-29 16:21:07 294

原创 hdu1025 最长上升子序列

题目大意:2n个村庄,n个富有,n个贫穷,贫穷的需要从富有村庄进口东西,也就是说需要建一条路,一直编号都是从1……n,问最多可以减多少条路,满足贫穷村庄编号大的则相连的富有的编号也大。思路:最长上升子序列问题。ps:输出时因为1和大于1的不一样,

2015-12-29 14:00:58 302

原创 FZU2221 分组必胜

题目大意:给定跑男团和敌方人数n,m,每队分成3组,相互pk,人数多则胜利,问跑男团是否必胜思路:因为跑男团必胜,所以必须有两个组大于等于敌方队伍人数,第一次派出敌方一半的人去,如果对方想胜利,则必须大于一半,剩下的人数为小于一半,跑男团只需要在派一半或者一半减一,则必胜。如果第一次地方队伍输了,假设地方队伍没有派人,那么跑男团第二次同样派出敌方一半人数,同理,最后一次只需要一半减一,这种情况

2015-12-29 10:23:25 552

原创 FZU2214 超大背包

题目大意:给你一个背包,容量为10^9,物品个数500,价值和小于5000,求最大价值思路:因为容量太大,所以不能按0-1背包问题去求解。注意到物品个数较小,而且价值和只有5000,所以可以逆向思维,求得对应价值下最小的重量,即dp[i]表示总价值为i是的最小重量是多少,则dp[j] = min(dp[j] , dp[j-val[i]]+vol[i]);最后从v(物品总价值开始判断)开始,找到

2015-12-29 10:07:11 737

原创 hdu1213 并查集

题目大意:n个朋友,认识的做一张桌子,不认识的坐一张,问总共需要几张。认识的定义是a认识b,b认识c,则认为a, b ,c认识思路,求联通图的个数,直接用并查集#include #include #include #include #include #include #include #include #include #include #include

2015-12-26 17:06:19 353

原创 cf 教育场4 ,区间交集个数

题目大意:给你那个区间,问哪些区间断的重叠区间的个数大于等于k,输出最小区间数(要合并)思路:将左右端点分开(不在一个结构体里)保存在一个数组,加标记确定左端点还是右端点,排序,遇到左端点ans++,右端点ans--,大于等于k则记录…………最后区间合并时出现了问题,想了好久,慌了……最后有一点,排序时必须按双重关键字排序!!让左端点小于右端点,这样可以解决点区间bug。。。比赛结束后

2015-12-26 01:22:40 538

原创 排序算法 java实现

package first;import java.util.Scanner;public class sort { public static void main(String[] args) { Scanner cin = new Scanner(System.in); System.out.println("请输入数组大小:"); int s

2015-12-25 20:54:34 286

转载 JAVA输入

程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值的现成函数!Java没有提供这样的函数也不代表遇到这种情况我们就束手无策,请你看以下三种解决方法吧:  以下将列出几种方法:  方法一:从控制台接收一个字符,然后将其打印出来  public static void main(S

2015-12-25 16:57:21 262

原创 hdu1301 kruskal+并查集

题目大意,求最小生成树思路,kruskal算法,因为n小,暴力找到最小边即可,复杂度o(n^3)。判断是不是在一个图的时候用了并查集!刚开始没过,改成64位过了。在练并查集,kruskal的复杂度什么的就不管了………………#include #include #include #include #include #include #include #include #

2015-12-25 16:45:16 229

原创 hdu1272 并查集

题意:判断一个图是否两两节点有且只有一条路可达思路:并查集判断有几个连通图 , 是否存在环ps:0 0应该输出yes#include #include #include #include #include #include #include #include #include #include #include #include #include #inclu

2015-12-23 21:15:35 245

原创 CF595B 数学

题目大意:给定长度为n的号码,分为k块,有序列a[n/k] , b[n/k] .定义good电话号码为第i块不以b[i]开头且能被a[i]整除,求对给定的n,k有多少good 号码,结果对1e9+7取模思路:因为可以分块,所以对每个块有多少种情况进行计算就可以了,每个块可能的情况总数直接相乘。计算时b[i]可能为0,需要讨论一下。预处理f[i]表示i+1位数的最小值。计算每个数据范

2015-12-22 23:01:09 1681

原创 codeforces 476C 推公式

题目大意:给定a,b,对于一个数x,若x是nice number,则满足(x/b)/(x%b) == [1,a](即结果在1-a之间)问:输出一个数表示 所有nice number的和。思路:令 d = div(x, b), m = mod(x, b), 则:d = mkx = db + m有 x = mkb + m = (kb + 1) * m。求出m,k即可

2015-12-22 10:23:42 393

原创 set

set是STL中一种标准关联容器(vector,list,string,deque都是序列容器,而set,multiset,map,multimap是标准关联容器),它底层使用平衡的搜索树——红黑树实现,插入删除操作时仅仅需要指针操作节点即可完成,不涉及到内存移动和拷贝,所以效率比较高。set,顾名思义是“集合”的意思,在set中元素都是唯一的,而且默认情况下会对元素自动进行升序排列,支持集合的交

2015-12-16 20:30:44 289

原创 hdu2669 扩展欧几里得

题目大意:求ax+by=1的非负整数x和y(x最小)思路:简单的扩展欧几里得1、ax+by=c若有解(x0,y0),则必有(a,b)|c , 其中(a,b)表示a,b的最大公约数,可以整除c则有解。2、若(a,b)=1 , 则方程全部解为:x=x0+bt ,y=y0-at3、若(a,b)> 1 , 则方程全部解为:x=x0+bt/d ,y=y0-at/d , d=(a,b);

2015-12-16 20:26:15 250

原创 hdu3959

题目大意:n个人,m个数,m^x>=n ,(1)先确定x(2)每个人选x个元素(1~m,可重复),(3)摇x次骰子,决定一个序列,如果有人的序列和摇出来的一样,则这个人为裁判,否则重复(1)~(3).问选出裁判的期望次数思路:每个人有选x个元素 , 每个位置有m中选择,总共有m^x中序列,摇x次选出裁判的概率m^x/n,x的期望为x*m^x/n.#include #inc

2015-12-16 19:33:22 315

原创 CF 600C 贪心+字符串

题目大意:给定一个字符串s,可以任意改变其中某个位置的字母,可以改变字母顺序(不算改变),求改变最小使其变成回文串,输出回文串(字典序最小)思路,统计每个字母的数量,根据总长度去操作,简单题。#include #include #include #include #include #include #include #include #include #i

2015-12-16 17:16:22 308

原创 CF 603B 数学,同余

题目大意:给出方程f(kx%p)=kf(x)%p ,问在集合A->B上不同的映射函数f 有几种,其中A=B={0,1,2..p-1},p为素数(除了2),k为小于p的一个常数思路: 因为f(kx%p) , 将x = kx 带入得f(kx%p) = f(k*kx%p),所以乘以k除以k相等,所以f(x%p) = f(kx%p) , 又因为f(kx%p)=kf(x)%p  ,

2015-12-15 20:44:42 292

原创 spfa ,就邻接表建图模板

struct edge{    int u , v , w;    int next;    edge(int u , int v , int w)    {        this -> u = u;        this -> v = v;        this -> w = w;    }    edge(){}};int id; //当前

2015-12-11 11:14:02 377

原创 hdu5521 spfa+超图转换+最短路+邻接表建图

题目大意:给你一个图,一个人在第一个节点,一个人在最后一个节点,问两人能不能相遇,相遇时的最短距离是多少。输入边的时候十亿集合形式输入,每个集合内的两两节点可达,距离给定。2015沈阳现场赛题目,当时被建图坑了,没有想清楚就敲,最后没过,暴力建边,边数会达到1e12,肯定超时,后来学习了 别人的解法,给每一个点集S加一个入点和一个出点,则点数和别树就在可以接受的范围内。不说了,直接贴代码#in

2015-12-11 11:08:10 590

原创 hdu5592

上面的是原题解。我的思路一样,不过使用vector实现的,第一次查找了一遍超时,想了一下原来不用,直接找就行,最后险过,听说线段树特别快。有时间试试#include #include #include #include #include #include #include #include #include #include #include #include usi

2015-12-08 10:00:35 504

原创 hdu1269 强连通分量

找个板子扔这里,慢慢学习#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;#define maxn 10005#define MOD

2015-12-03 16:22:10 272

原创 double输出

printf("%g\n", a ); 可以输出无后置0的double;

2015-12-03 16:12:25 770

原创 hdu1438 递推

一次比赛遇到了,后来才知道是hdu题目,当时没退出来……学习了别人的思路。链接为:点击打开链接一把锁匙有N个槽,槽深为1,2,3,4。每锁匙至少有3个不同的深度且至少有1对相连的槽其深度之差为3。求这样的锁匙的总数。递推方程式如下1:如果X是钥匙 则X1/2/3/4也是 所以a[I]=a[I-1]*42: 如果X不是,X2/3是则X由1/4组成/但要除去全1和全4 所以a[

2015-12-01 19:54:01 358

cug2015ACM集训数学进阶部分题解

ACM数学进阶题解 ,思路很好。保存起来,方便以后使用

2015-07-17

空空如也

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

TA关注的人

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