自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(97)
  • 资源 (5)
  • 收藏
  • 关注

原创 爱的方程

520 又是一波秀恩爱的季节~今天看到一个砰砰跳的红心,看了一下代码,原来爱的公式是这样的:被称为是爱的方程:17*x^2-16*abs(x)*y+17*y^2-225=0 这是普遍认为比较好看的一个公式,一般写作:x^2 - abs(x)*y + y^2 = 1那么,三维的公式:f=(x^2+9/4*y^2+z^2-1)^3-x^2*z^3-9/80*y^2*z^3;代码里这么写的。想把砰砰跳的代

2016-05-20 22:01:51 1756

原创 [线段树双lazy]UVa11992 - Fast Matrix Operations

题意: 三种操作在矩阵上进行。添加val,set val,查询。分析: 裸线段树,但是做完后发现别人都用的一维的,而我却封装了用的二维的。。。。也是醉了,数据再大点的话就存不小来了。。也是侥幸啊。 建议大家还是用一维的好,每个点都是(x-1)*c+y。#include <iostream>#include <stdio.h>#include <cstring>#in

2015-10-23 20:55:47 514

原创 [RMQ]UVa 11235 - Frequent values

题意: 给出一串非减的序列,然后查询L,R区间内个数最多的有多少个?分析: 按照大白的分析写的。#include <iostream>#include <stdio.h>#include <cstring>#include <algorithm>#include <set>#include <map>#include <stack>#include <vect

2015-10-11 00:12:02 564

原创 [DP]Codeforces Round #323 (Div. 2)DOnce Again...

题意: 给出n,t,表示n个数的序列重复t次,求出最长不下降子序列的长度。分析: 经典DP的改良。脑子里想的就是重复够一定次数后,肯定就会出现重复的情况。 刚开始想的是最后加入的数是一直重复的,可能有多个数,比如 270 298 ,298加进来增加长度,270加进来可以覆盖298,那么最后的那个数还是270.这里犯了一个错误,270加进来并没有改变子序列的长度,

2015-10-08 23:32:34 488

原创 [排列组合]Codeforces Round #324 (Div. 2)E - Anton and Ira

题意: 给出两个序列p和s,问从p变化到s移动的最小距离是多少。 输出最小距离,移动的次数和移动的点。分析: 逻辑总是感觉很混乱,这里把s的序列重新标号,那么s就是1,2,3,。。n.也就是将p重新标号后的顺序变化成有序递增的序列。这样逻辑上稍微清楚些。然后就是贪心的思想,在将b[k]移动到b[k]的位置的时候所经过的大于b[k]的数都往后移。#includ

2015-10-08 11:56:03 494

原创 [数论] Codeforces Round #324 (Div. 2)D. Dima and Lisa

Dima loves representing an odd number as the sum of multiple primes, and Lisa loves it when there are at most three primes. Help them to represent the given number as the sum of at most than three pri

2015-10-07 12:13:57 503

原创 Codeforces Round #318 D. Bear and Blocks

D. Bear and Blockstime limit per test 1 secondmemory limit per test 256 megabytesinput standard inputoutput standard outputLimak is a little bear who loves to p

2015-09-06 23:15:49 554

原创 [矩阵快速幂+循环节]hdu4291

题意: Given n (1 <= n <= 1018), You should solve for g(g(g(n))) mod 109 + 7  where g(n) = 3g(n - 1) + g(n - 2) g(1) = 1 g(0) = 0 分析: 这个递推关系可以用矩阵快速幂来解决

2015-08-31 21:47:41 922

原创 [树形DP]VK Cup 2012 Round 1 D. Distance in Tree

题意: 给出一棵树,然后问任意两点间距离为k的情况有多少种。分析: 显然是DP,但是状态方程如何向呢?一棵树,肯定是先从根节点开始考虑情况,那么就把每个点看做是一课子树,然后dp[i][j] 表示计算到i点时距离为k的情况的种类数。然后扫描该点的子节点,递归,完了之后 ans+=dp[x][j-1]*dp[v][k-j]; 表示到i节点的距离和到子节点中的距离

2015-08-30 22:23:26 644

原创 [思维]CodeForces 156B Suspects

题意: 有n个嫌疑犯,现在他们说出情况+a[i]表示说a[i]犯罪了,-a[i]表示说a[i]没有犯罪。其中只有一个是罪犯,并且有且只有m个人说的是真话,问最后谁在说谎,谁在说真话,谁的话又是不确定的。分析: 刚开始拿到这个题,感觉很难下手,想到如何判定凶手的时候就会觉得很烦,大概是有感情因素在里面吧,不够有条理性。 首先假设有5个人,那么说出的情况可能是

2015-08-29 09:58:45 644

原创 [搜索]CodeForces505B

题意: 找两点之间相同颜色连成的道路的条数。 分析: BFS+模拟#include <cstdio>#include <cstring>#include <cmath>#include <iostream>#include <vector>#include <map>#include <set>#include <utility> #include <s

2015-08-29 09:49:24 755

原创 [树状数组+DP]hdu3450 Counting Sequences

题意: 找出所有的美丽序列。美丽序列就是相邻的元素绝对值之差不超过d的序列。 分析: dp[i]表示到i为止满足情况的种类数。 dp[i]=sum(dp[j] abs(a[j]-a[i])<=d); 当然这个数据量很大,直接按照方程的话复杂度为O(n*n). 所以要利用其他方式,树状数组。这里需要对元素离散化,因为d很大。刚开始想的时

2015-08-27 11:25:53 893 1

原创 [数学]hdu5358

题意: 求出公式的值。 ∑i=1n∑j=in(⌊log2S(i,j)⌋+1)×(i+j) 分析: 主要是看到二进制的特点 log2(s)+1其实就是s二进制的位数。那么只需要求出所有区间的边界和乘上区间和的位数就好了。注意这里的数据量100000,所以s最大不超过35位,那么我们可以枚举位数,然后遍历左区间j,求出所有满足条件的r,即j,j+1,…

2015-08-25 14:17:51 598

原创 [搜索]hdu5355

题意: 将n分成一样大小的m份. 分析: 很经典的一道题。如果n==2m 那么2m*(2m+1)肯定能成功。然后就按照这个点,分别一直减去2m,如果n<=40的话就可以爆搜了。先找规律处理一部分,然后暴力一部分。这题很经典的说。#include<iostream> #include<stdio.h> #include<math.h> #include

2015-08-25 12:56:27 694

原创 [线段树]CodeForces 356A

题意: 有n个人,进行m场比赛,每次给出l,r,w(区间和最后赢得人),问最后谁赢,输的人输出打败他的人的id,最后赢的人输出0.分析: 线段树成段更新,已经更新过的就不用更新了。另外赢的人还要比赛,所以不能更新。更新区间为(l,w-1),(w+1,r)。 那么最终没有更新的就是赢家。#include<iostream> #include<stdio.h> #in

2015-08-23 11:47:43 863

原创 [搜索]hdu5336

题意: 有一个r 行 c 列的格子,给出n个格子里有水滴的大小。再给出时间限制T,使得水滴从(sx,sy)位置开始爆破,当飞渐的水遇到格子里的静态水时就会聚在一起,当聚集的水滴大小>4时就会爆破。问在T时给定的n个位置格子里的水滴情况,如果没有爆破就输出:1 格子里水滴大小。否则输出:0 爆破的时间。分析 :见代码注释。#include <cstdio>#include <cstr

2015-08-18 23:26:58 483

原创 [搜索]hdu5335

题意: 给出01矩阵,问从(1,1)到(n,m)走过的路中所有01组成的二进制字符串所代表的数字最小是多少。分析: 首先前缀0是要去掉的,另外发现只有不断地向下和向右走就能达到最短路。所以首先dfs找到所有能走的0的位置,去掉前缀0.然后bfs向右下角进行,有0 的地方就走0,不走1,没有任何0的情况下才走1.如果有多个0就都走,看谁后面还有0.如果没有0,就全部的1都

2015-08-18 15:48:02 638

原创 [搜索]poj1011

题意: 给出你n个小木棒,要求还原成多个长度相同的完整木棒,并求出符合要求的最短的木棒的长度。 经典搜索题。 分析: 这样的题不确定因素很多,所以只能遍历定一个条件,根据这一条件去遍历确定另一条件。另外这题还要剪枝才行,不然会超时。poj1011#include <cstdio>#include <cstring>#include <cmath>

2015-08-17 23:41:10 392

原创 [线段树]hdu5316

题意: 给出两种操作,一种是求区间漂亮子序列的和的最大值,另一个就是给指定的点改变值。 题目中最重要的一句话:A beautiful subsequence is a subsequence that all the adjacent pairs of elves in the sequence have a different parity of position.

2015-08-16 22:26:38 709

原创 [组合数]求组合数的几种方法总结

求C(n,m)%mod的方法总结1.当n,m都很小的时候可以利用杨辉三角直接求。 C(n,m)=C(n-1,m)+C(n-1,m-1);2.利用乘法逆元。 乘法逆元:(a/b)%mod=a*(b^(mod-2)) mod为素数。 逆元可以利用扩展欧几里德或欧拉函数求得: 1).扩展欧几里德:b*x+p*y=1 有解,x就是所求 2).费马小定理:b^(p-1)=1(mod p),故b*b^

2015-08-16 22:08:09 13234 2

原创 [CF310]D. Case of Fugitive

题意: 给出n个线段,在n个线段之间搭桥,给出m个桥的长度,假如满足条件 To reach the goal, Andrewid needs to place a bridge between each pair of adjacent islands. A bridge of length a can be placed between the i-th and the (i + 1)-th

2015-06-30 13:12:57 1062

原创 [网络流]hdu3046(Dinic)

首先我想讲一下网络流的基础。 第一,要明白一些基础的概念,否则对后面的理解会有一定的影响。这里只列出常用的,列太多会影响阅读效率的。底图:如果把一个有向图的每条边的方向都去掉,得到的无向图称为原有图的底图。 途径:图G中点边连续交替出现的序列称为G的一条途径。 迹:图G中边不重复出现的途径称为迹。 路:图G中顶点不重复出现的迹称为路。网络的基本概念: 定义:一个网络N=(V,A)是指一个连

2015-06-28 22:20:18 659

原创 Codeforces Round #309 (Div. 2) C

题意: 就是给出总共有k种颜色,每种颜色有ki种,排列必须满足第i+1种的最后一种颜色必须在第i种最后一种颜色的后面,其他颜色随意。总共有多少种排列点的方法。分析:假设d[i]表示前i种的排列的数量,那么第i+1种的数量就是d[i]*C(a[1]+a[2]+..a[i+1]-1,a[i+1]-1);预先处理好排列组合数就好了,直接计算。ps:CF的比赛时间还真是有点烦,话说我一直不明白为什么我看电

2015-06-25 20:25:39 748

原创 [博弈论]hiho#1173 : 博弈游戏·Nim游戏·三

首先给出基本定义:对于一个游戏可能发生的局面x,我们如下定义它的sg值: (1)若当前局面x为终结局面,则sg值为0。 (2)若当前局面x非终结局面,其sg值为:sg(x) = mex{sg(y) | y是x的后继局面}。 mex{a[i]}表示a中未出现的最小非负整数。举个例子来说: mex{0, 1, 2} = 3, mex{1, 2}=0, mex{0,1,3}=2sg定理: 对于多

2015-06-04 22:01:07 626

原创 [二分图-匈牙利]poj1422

题意: 给出一个图,伞兵降落到一个点上,然后只能按照一个方向走,问最少降落几个伞兵可以访问完所有的点?分析: 这是一个最小路径覆盖问题。 最小路径覆盖就是在一个图中用最少的路径可以覆盖所有的点。 在二分图中 最小路径覆盖=点集-最大匹配数,对于二分图的最小路径覆盖很好求,那么此题很可惜是一个有向图。不过,可以通过将有向图转化为二分图来求解。 通常的做法是将点i,拆分成i,i’,(i,j)变

2015-05-27 17:34:03 928

原创 [none]CodeForces 534B

题意: 给出起点和终点的速度还有时间,问在速度上下拨动不能超过d的情况下,求出最大的路程。分析: 其实怎么做还是得枚举峰值,那么峰值改怎么求呢?贪心的一直+d,后面保证还能减回v2,那么就每次取两条向上和向下的线的最小值就可以了。。#include <cstdio>#include <cstring>#include <cmath>#include <iostream>#include

2015-05-24 22:19:42 483

原创 [思维]CodeForces 135B

题意: 给出8个点,问能否分成两个集合,使得一个组成正方形,另一个组成矩形。如果能,就输出YES,并且输出两个集合分别是什么,如果能,那就直接输出NO;分析: 本来觉得这题很烦,没什么兴趣做了,浏览status的时候,偶然发现某final爷的id,点进去亮瞎了双眼。。。代码精简美观,思路一样很暴力,但是暴力的漂亮,于是乎学习了一下。 思路就是判断所有的边的可能排列,然后根据边判断,不用什么点积

2015-05-24 22:13:54 598

原创 [排列]poj1256

题意: 给出一个串,要求按照字典序输出所有排列。分析: 直接利用STL 里的next_permutation()就好,重新定义一个cmp函数,没有把cmp放进next_permutation(),我都WA哭了。。。#include <cstdio>#include <cstring>#include <cmath>#include <iostream>#include <vector>

2015-05-24 11:35:17 1188

原创 [DP]hdu5234

题意: 在一个矩形的矩阵中,从1,1出发,每次只能向右或者下走,每次可以选择吃或者不吃每个格子里的蛋糕,问在容量为C的情况下,最多吃多少?分析: 01背包的变形。 dp[i][j][k]表示在i,j点时吃的最大的重量。 dp[i][j][k]=max(max(dp[i-1][j][k],dp[i][j-1][k]),max(dp[i-1][j][k-mp[i][j]]+mp[i][j],dp

2015-05-24 10:08:56 765

原创 [STL]hdu5233

题意: 给出一组数据n个数,m个询问q,问最近的q的输入下标是多少?分析: 首先数据量比较大100000,查询的话肯定要用些技巧,刚开始想的是二分查询,用set,可是不知道set里放数据结构struct如何按照关键字lower_bound()。后来看了官方题解,先把数据离散话,然后利用set[]来存储下标。那么输出的时候就直接输出begin,删除也可以erase(). 这里有个trick,刚开

2015-05-24 07:37:42 1080 1

原创 [概率]hdu5229

题意: 给出n个字符串,每次比赛任意选择两个,只能做两种操作 1.选择一个字符串消去后面一个字符。 2.如果两个字符串相等,可以同时消去。 最后不能进行操作的一方输。 问,后手失败的概率,也即先手赢的概率。分析: 刚开始审错题了,还以为所有的字符串都要用。。。这题有种博弈的感觉。 任选两个串的话,那么分母就是n*(n-1)/2中情况了。 然后分析何时先手赢。 1.对于a、b两个串,

2015-05-23 21:22:25 431

原创 [暴力]poj1166

题意: 给出9【A-I】个表,9中操作,每种操作只能拨动部分表, Move Affected clocks 1 ABDE2 ABC3 BCEF4 ADG5 BDEFH6 CFI7 DEGH8 GHI9 EFHI 问,最少几步把表都拨到12点

2015-05-22 19:28:04 594

原创 [DFS]poj1129

题意: 就是给出一个图,涂色,相邻的点不能涂一样的颜色,问最少涂几种颜色?分析: 首先数据量很小,可以暴力搜索。刚开始想的是bfs,一层一层的搜,但总写不对。。,好吧,换种思路,一个点一个点的搜吧。#include <cstdio>#include <cstring>#include <cmath>#include <iostream>#include <vector>#include

2015-05-22 15:05:36 594

原创 [DFS]poj2676(2918)

题意: 数独问题,给出一些点,然后要求填满格子。每行没列1-9不能重复,每个3*3的小格子也不能重复。分析: 暴力搜索,那么主要的问题就是每次如何判断是否冲突。行和列的比较好想,row[i][j]=1表示第i行的j已经被占了,col[i][j]=1表示第i列的j已经被占了,那么每个小格子呢? 首先,每行每列都是012、345、678那么每个j/3表示它在这以行的第j/3个格子里,i/3表示在第

2015-05-19 23:03:56 612

原创 [DFS]poj1416

题意: 如果输入的串分割后的和最小都比Target大,那就输出error. 如果有多种结果一样,那么就输出rejected. 否则,输出最大的和 和分别是哪些子串。这个题都是整数,所以比较简单。直接搜索所有的情况就好了,还有一点是打印路径,一般可以用path[]或者pre[]的数组表示,但是这里数据有点大我就用的map水过了。。#include <cstdio>#include <cstri

2015-05-18 12:38:20 604

转载 How do I print out a tree structure?

How do I print out a tree structure? http://stackoverflow.com/questions/1649027/how-do-i-print-out-a-tree-structure多谢熊神给的链接,圆满的解决了我的问题。语法树本来自己写的丑的不忍直视。。现在好看多了,哈哈其中最短小精悍的是节点中打印连线,很棒。 class Node {

2015-05-17 22:19:24 433

原创 [DFS && BFS]poj3083

题意: 给出起点和终点,问分别靠着墙往左走,往右走,直接最短路分别是多少? #代表不能走,‘.’代表能走,S是起点,E是终点。 Sample Input2 8 8#…….####..####..####..####.…#..S#E9 5#.#.#.#.S…….E.#.#.#.#Sample Output37 5 5 17 17 9分析: 这道题的主要难点就是如何选择靠右走与靠左走。在格子

2015-05-14 23:46:26 395

原创 [DFS]poj1321

题意: 就是在给定的n*n的棋盘上放k个棋子,要求不能同行同列。并且棋盘上只有#的位置才能放棋子,问总共有多少种情况?分析: 首先看到不同行不同列,那么想到的是神马呢?八数码问题。那么就回想已有的东西里哪些可以用到。那么这个题也就可以和八数码问题一样,按行来操作,那么只标记列来标明是否冲突,那么问题就很明了了。抽象为一维的数据了。但是,如果k==n的话,那这就和八数码没什么区别了。可是这里k#i

2015-05-13 23:12:56 366

原创 [DP]poj1260

题意: 给出珠宝的数量和价格,但是支付的金额应该是没一种(a+10)*p的价格,也就是必须多支付10个的价格,那么低价的可以向高价格的合并,那么比如a b两类 就可以(a+b+10)*pb 因为有可能这样价格更低。这个题,刚开始的误区就是贪心,如果每次贪心的将价格合并到高一级的,那么这样最终的结果并不一定正确,不具有最优子结构的特性。因为可能现在牺牲一点价格,后面的继续合并这样总的价格会更低。所以

2015-05-12 20:36:02 456

原创 [DP]poj1836

Description In the army, a platoon is composed by n soldiers. During the morning inspection, the soldiers are aligned in a straight line in front of the captain. The captain is not satisfied with the

2015-05-10 14:00:08 407

NLPCC2013微博情绪分析样例数据

NPCC2013,微博情绪分析样例数据。数据分类 like disgust happness sadness surprise anger fear none

2017-10-29

Sheldon M.Ross 著《随机过程》

上传的文件包括此书的中文版和英文版。研究生老师极力推荐的,据说很浅显易懂!!!!美国加利福尼亚大学伯克莱分校应用概率专家,著名教授S.M.Ross所写的“随机过程”一书恰好满足我国广大应用和理论等各方面读者的需要。十五年来,该书已经被美国的许多著名大学选为包括统计专业在内的各领域的研究生(和本科生)的教科书,是一本公认的优秀的教材,受到各方面的好评。这本书不需要测度论及高深的数学知识。微积分和初等概率论的知识对于学会本书是足够的。尽管如此,该书在第一章还是介绍了虽然不很深,但是很重要的基础知识,给予那些离开课堂较久或手头缺乏概率论参考书的读者以不少方便。

2016-09-17

程序设计中的组合数学.pdf

程序设计中的组合数学 本书尽可能详细的介绍了组合数学中必不可少的核心理论。

2015-08-07

背包问题九讲2.0(13年修订版).pdf

背包问题九讲2.0(13年修订版).pdf

2015-08-07

编译原理及实践课后答案

编译原理及实践,机械工业出版社,部分课后答案。

2015-05-25

空空如也

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

TA关注的人

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