自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

a novice

只有永远不停的长路 走着一代代不肯绝望的人

  • 博客(129)
  • 资源 (1)
  • 收藏
  • 关注

原创 POJ 1753 Flip Game(dfs+枚举)

POJ 1753题意:输入一个4*4的图像,由黑白两色组成,定义一种操作为:改变某个格子内小球的颜色(黑变白,白变黑),同时其上下左右的格子内小球也将变色。求最少多少次操作能使之成为纯色图案。思路:对一个格子操作偶数次等于没有操作,操作奇数次等于操作一次,所以答案在0~16以及impossible之间。从n=0开始枚举n次操作可能的组成情况,即操作哪几个格子,若某种组合能变

2015-07-29 19:30:10 739

原创 HDU 4293 Groups(区间dp)

HDU 4293题意:有 n 个人,可任意分成若干组,然后每个人各提供一个信息,表示他们组前面有多少个人,后面有多少个人。问最多有多少个信息是真实的的。思路:这道题一开始给我的印象是什么乱七八糟的东西,后来也没想通到底该怎么做,好在赛后百度在手天下我有:)我们可以把 这n个人看成一段区间 [1,n]。设每个人的信息是a、b,则这个信息代表了他们组所在的区间 [a+1,n-b]。

2015-07-27 22:05:36 697

原创 HDU 4288 Coder(模拟) 附:upper_bound与lower_bound的比较

HDU 4288题意:太长。。点进去自己看吧思路:一道模拟题,但直接模拟会卡TLE,所以进行些许优化,将复杂度/5.简而言之就是用一个有序数组来模拟set。优化是利用lower_bound函数,这里简介下lower_bound 与 upper_bound 的区别:摘自:http://blog.csdn.net/weiguang_123/article/details/7

2015-07-27 21:50:51 590

原创 HDU 4283 You Are the One (区间dp)

HDU 4283题意:有n个男屌丝依次排队要登台,如果某个男屌丝前面排有k个人,则该屌丝很生气,生气程度 = (k-1)*D(D代表屌丝程度)。现在有一个小黑屋,小黑屋先进后出,如果把某屌丝放进去,那么他后面的人就能先登台。给出每个人的屌丝程度与原定上台顺序,求怎样利用小黑屋,能够使众屌丝生气程度之和最小,求出最小值。思路:#define 愤怒值 生气程度 dp[i][j]表示

2015-07-27 21:35:57 544

原创 HDU 4175 Class Schedule (暴力+一点dp)

HDU 4175题意:有C座楼,每座楼有T个教室,一个人需要访问C个教室,每座楼只能访问一个教室。访问教室需要消耗能量,从x点走到y点需要消耗abs(x-y)的能量,最后要走到目的点L,问最后走到目的点L需要消耗的最少能量。思路:读清题意,用getchar()的方式去读。。此外英文阅读水平比较拙计,亟待提升,以后不能再直接用有道翻译来做题了!直接暴力枚举。用dp[i][j]表示clas

2015-07-26 23:32:02 761

原创 HDU 4193 Non-negative Partial Sums(想法题,单调队列)

HDU 4193题意:给n个数字组成的序列(n 思路:这题看到数据规模觉得只能用最多O(nlogn)的算法,然后想到了之前刚做过的有关最小表示法的题,但还没证明出一个做这题有效的算法出来。后来看过题解,发现用的最多的方法是单调队列,然而我对这个知识点知之甚少orz/*科普君:from单调队列单调队列是指:队列中元素之间的关系具有单调性,而且,队首和队尾都可以进行出队操作,只

2015-07-26 23:18:52 735

原创 HDU 4268 Alice and Bob(贪心+multiset)

HDU 4268题意:Alice与Bob在玩卡片游戏,他们每人有n张卡片,若Alice的一张卡片长与宽都不小于Bob的一张卡片,则Bob的卡片就会被盖住,一张卡片只可以使用一次,且不可旋转求Alice最多可以盖住多少张Bob的卡片。思路:记录两人卡片情况,并按照长度将两人卡片分别降序排序。遍历两人的卡片,将长度小于Alice的卡片长度的Bob卡片的宽度插入multiset中,在multis

2015-07-26 21:55:48 690

原创 UVALive 3971 Assemble(模拟 + 二分)

UVALive 3971题意:有b块钱,想要组装一台电脑,给出n个配件的种类,名字,价格,品质因子。若各种类配件各买一个,总价格思路:求最大的最小值一般用二分法。在(0,maxq)内进行二分,判定q作为最差品质因子是否可行。大白书原题,比较考验代码功底。code:/** @author Novicer* language : C++/C*/#in

2015-07-26 00:01:05 831

原创 HDU 4173 Party Location(计算几何,枚举)

HDU 4173题意:已知n(n思路:不妨先考虑party可能的位置,要尽可能多的邀请到选手参加,则只需考虑party所在位置在某两位住所连线的中点上或某选手住所所在位置,因为这是最大参加party选手数很有可能在的位置。若其他位置能得到最大参加选手数,那么中点或选手住所也一定可得到。//反证法可得,试着画画就ok~那么,只要我们枚举所有中点与选手住所的位置,所能得到的可参加p

2015-07-25 22:15:08 730

原创 HDU 4162 Shape Number(字符串,最小表示法)

HDU 4162题意:给一个数字串(length 思路:第一步是将差分码求出:s[i] = (s[i] - s[i+1] + 8) % 8;第二步是求出最小字典序的循环同构差分码,我之前没注意到字符串规模。。直接用set做,MLE+TLE。。。正确的方式应该是一种O(n)的解法,即最小表示法。//关于最小表示法的证明与详述请参考最小表示法:)最小表示法算法:   初

2015-07-25 21:08:23 540

原创 POJ 1050 To the Max(DP,最大子矩阵和)

POJ 1050题意:给一个矩阵,求出元素和最大的子矩阵。思路:之前曾写过最大子串和的一篇文章,这次由一维上升到了二维。我们可以通过累加每行相同列或每列相同行的值,将其储存在一个数组中,便可以将二维降至一维。时间复杂度为O(n^3)。参考:累加每一行相同列的做法(java实现)累加每一列相同行的做法(C++实现)code:/**Author : F

2015-07-23 16:23:31 839

原创 CodeForces 558C Amr and Chemistry (位运算,数论,规律,枚举)

Codeforces 558C题意:给n个数字,对每个数字可以进行两种操作:num*2与num/2(向下取整),求:让n个数相等最少需要操作多少次。分析:计算每个数的二进制公共前缀.枚举法亦可。/**Author : Flint_x *Created Time : 2015-07-22 12:33:11 *File name : whust2_L.cpp */#

2015-07-23 00:51:50 1098

原创 POJ 2479 Maximum sum & POJ 2573 Max Sequence (DP,最大连续子串和)

POJ 2479题意:给一个数列,求任意两个子序列的包含元素的和的最大值,两个子序列无公共部分。思路:dp1[i]表示第一个元素a[1]到a[i]的最大子段和,状态转移方程是dp1[i] = max(dp1[i-1]+a[i],a[i]);//不理解最大子段和方程的可以参考最大子段和问题dp2[i]表示末一个元素a[n]到a[i]的最大子段和,状态转移方程是dp2[i] = max

2015-07-21 23:33:28 920

原创 HDU 4135 Co-prime (容斥原理)

题目戳这里题意:求一个区间[a,b]中有多少个与n互素的数。思路:这道题是容斥原理的模板题之一,容斥原理请参考容斥原理详述,很好的一篇文章。[a,b]中与n互素的数目可转化为[1,b]-[1,a-1]的数目。给出整数n和r。求区间[1;r]中与n互素的数的个数的方法:解决它的逆问题,求不与n互素的数的个数。   考虑n的所有素因子pi(i=1…k)在[1

2015-07-20 19:43:21 661

原创 HDU4149 Magic Potion(位运算)

题目请戳这里题意:给出x1,x2,x3,x4,x5,x6,x7,x8与某值m进行异或运算后的结果,再给出x1~x8之和与m进行异或运算后的结果sum,求m.思路:根据位运算特性来做,由于m最大为32位,我们可以从最低位依次来推理得到,用x>>i&1来取右数第i-1位的值。假设二进制右起第一位是1,算出所有xi的右起第一位二进制结果,累加得到tmp,比较tmp与sum的最右位,符合则

2015-07-20 18:59:18 1041 1

原创 CodeForces 399C Cards (数论)

题目请戳这里题意简单不予赘述,说做法。有一个容易证明的结论,x1+x2+...+xn为定值,当任意xi等于x1~xn的均值时,x1^2+x2^2+...+xn^2等于最小值。所以我们要尽可能使‘x'不连续。附上官方题解公式:1. Maximize the value of x12 + x22 + ... + xp2 where x1 + x2 + ... + xp 

2015-07-19 22:02:43 561

原创 回文字符串小结(回文串判定+最长回文子序列)

定义:“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。回文串判定例1:hdu2029题意:请写一个程序判断读入的字符串是否是“回文”。思路:回文串最基本的判定法是将一个字符串扫一遍,判断第i个字符和倒数第i个字符是否相同,不相同则返回false。也可以用栈来实现,复杂度均为O(n)。code:/

2015-05-29 14:15:41 2620

原创 CodeForces 71C Round Table Knights(数学+枚举)

题目戳这里题意:圆上有n个点均匀分布,其中点的状态有0或1两种情况,现在告诉你所有点的状态,问:能否由状态为1的点组成正多边形。思路:公式推理+枚举。当n=3时,我们需要验证是否有正三边形(三角形);当n=6时,我们需要验证是否有正六边形与正三角形;当n=9时,我们需要验证是否有正九边形与正三角形;……可以发现只要检测n的大于3的因数作为边数

2015-05-17 22:07:25 864

原创 hdu4000 Fruit Ninja(树状数组)

题目戳这里题意:对1~n的一个排列,求所有的i<j<k且a[i]<a[k]<a[j]的个数。思路: 全局思路在于:小大中组合个数 = 小(大)(大)组合个数 - 小中大组合个数 小(大)(大)的意思是第一个元素比后两个元素要小的组合。 对于第i个数组元素,qian表示在i之前有几个比a[i]要小,hou表示i之后有几个比a[i]要大。 则小中大 组合个数= qian * hou; 小(大)

2015-05-16 01:16:41 493

原创 hdu 4015 Mario and Mushrooms(组合数学)

题目戳这里题意:Mario遇到了两种蘑菇:好蘑菇提升自身一点hp,坏蘑菇减少自身m点hp,当遇到一个蘑菇后Marion的hp小于或等于0时,Marion死亡。已知坏蘑菇有k个,好蘑菇k*m+1个(换句话说,生还后hp=1)蘑菇随机排列,遇到蘑菇的过程是一个接一个,输入k与m,求Marion生还概率。思路:大概是靠脑洞(卒。。 我们可以明确一件事,任一合法序列或着说生还条件,必然前k+1个是好蘑菇,

2015-05-15 22:23:06 844 1

原创 hdu4145 Cover The Enemy(贪心+枚举)

题意:已知两座炮塔的坐标,以及n个士兵的坐标,以两座炮塔A,B为圆心,R1,R2为半径,可覆盖所有士兵的坐标,求R1^2+R2^2最小值。思路:这道题开始的思路是:枚举每个敌人,比较它到2个炮塔的距离,如果距离A近,则把这个距离与上个距离A近的敌人的距离比较,取较大者。反之同理处理B。这样就得到A和B炮的半径,进而得到答案。但是这样是错的。若AB距离为2

2015-05-14 23:45:20 705

原创 【爬虫之路】批量下载5sing上一位歌手的全部歌曲

实现思路是这样的: 1.访问songer的所有作品列表页,例如: http://5sing.kugou.com/marblue/fc/1.html 显示的是songer的翻唱作品第一页,修改链接访问所有作品列表页即可。2.正则表达式抓取作品id号与歌曲名字。3.以id为14041908的翻唱作品为例,利用id号与歌曲类型生成链接: http://5sing.kugou.com/fc/Down

2015-04-26 23:15:55 5522 6

原创 一些STL的新姿势pika~

1.next_permutation生成全排列#include<iostream>#include<algorithm>#include<string>using namespace std;int main(){//数组元素全排列 int a[4] = {6,3,7,2}; sort(a,a+4); for(int i = 0 ; i < 4 ; i++){

2015-04-22 17:32:26 568

原创 POJ 2599 Largest Rectangle in a Histogram(DP&单调栈)

题目可以戳这里题意:连续输入n个紧挨着的宽度为1的矩形高度,求组成矩形的最大面积。分析: 这题是个好题,迄今为止我已经见到过四种解法了,最容易想到的有dp与栈操作,此外还有单调队列和斜率优化的方式,综合时间空间与代码实现难度而言,这里我推荐dp大法。 此题最关键的地方便是能否想到用边界来划分区域,只要我们确保第i个矩形的左边界与右边界之间的矩形都高于第i个矩形,那么边界内最大面积必为height

2015-04-17 19:48:34 568

原创 WOJ1540 Fibonacci(数学推导,矩阵快速幂)

题目戳这里 题意:求斐波那契数列的前n项立方和,1<=n<=10^9,例如前3项为1^3+1^3+2^3=10. 思路:鉴于n如此大的规模,很明显不能直接求,所以需要用到矩阵快速幂的改进版 我们知道斐波那契数列第n项可以表示为矩阵 1 1 1 0 的n次方,那前n项立方和能否用矩阵的n次方来表示呢?我们可以递推来考虑: 1.如果是要求前n项和sum(f(n)),展开后我们发现: su

2015-04-16 00:13:08 454

原创 Codeforces 534B Covered Path

这题是道水题,主要是展示一份神代码。#include<cstdio>int i,s,z,a,q;main(){ scanf("%d%d%d%d",&i,&s,&z,&a); while(z--)if(i<=s)q+=i,i+=a;else q+=s,s+=a; printf("%d",q);}代码贵在精炼,可读性好并不意味着要长篇累牍。

2015-04-13 21:04:29 589

原创 Codeforces 534C Polycarpus' Dice(数学,公式推导)

C. Polycarpus’ Dice time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output Polycarp has n dice d1, d2, …, dn. The i-th dice shows numbers from 1 t

2015-04-13 20:34:51 678

原创 [email protected] div2

训练地址Problem A CodeForces 353A Domino 题意:输入n对数(xi,yi),所有数对的xi之和为sumx,yi之和为sumy,判断需要交换几个数对的xi与yi值才能使sumx与sumy均为偶数,如果不行输出-1.思路: 1.若sumx与sumy均为偶数,输出0;不是,则sumx与sumy必然均为奇数,继续2:;其余情况输出-1。 2.sumx与sumy均为奇数

2015-04-12 23:10:16 479

原创 【爬虫之路】A站文章围观量&B站视频播放量的简单爬虫想法

众所周知,acfun与bilibili一直是国内受到广泛关注的宅社区以及二次元社区,一直以来我有一个想法,便是如何获知两个网站里最有意思的作品,仅仅依靠官方的推荐并不足以满足个人化的需求。 于是这只小爬虫便诞生了。0.一开始的想法是抓取b站av8到av2000000+的近两百万个视频的播放量,然后降序排序。 但面临着两个问题,一是播放页并非静态网页,播放量来自于js自动生成,于是我们通过抓取一个

2015-04-11 16:55:56 7856

原创 uva10815 Andy's First Dictionary(字符串的简单处理)

题目戳这里题意: 按字典序输出文字段落中出现过的所有单词,出现多次记为一次。思路: 1.大写换小写。 2.过滤字母以外字符,生成多个单词,将单词插入到set容器中。 3.使用set容器按字典序自动生成所需答案。ac代码:/**Author : Flint_x *Created Time : 2015-04-04 17:02:48 *File name : uva10815.cpp *

2015-04-04 17:29:31 554

原创 uva409 Excuses, Excuses!(字符串处理)

题目戳这里 题目大意: 给出一定量的关键词与一定量的句子,查找含有关键词量最多的句子,并输出,如果是多个句子,一并输出。 注意: 1.关键词在句子中出现必须是单词的形式,关键词是ab的时候在句子中出现的合法形式应该是:ab c 或ab,c等,abc则不算在内。 2.不区分大小写。 3.同一关键词在一个句子中多次出现只算一个。思路: 注意到以上三点,直接模拟即可,可以运用string类里

2015-04-04 16:51:22 521

原创 uva537 Artificial Intelligence?(字符串转化为浮点数)

题目请戳这里 题目大意: 给一行字符串,从中分析出P,U,I中的两个,根据P = UI求出剩下一个是多少,需要注意的是,数字可能是浮点数,且有可能跟着m,M或k的后缀。思路: 写这个题解关键在于get到了一个新的函数atof(const char*) 这个函数的作用是将字符串转换为双精度浮点数,具体用法可见代码,包含在stdlib.h库中,其余部分只需要按着题意来模拟即可。ac代码:/**

2015-04-04 15:25:10 899

转载 高精度模板

#include <iostream>#include <algorithm>#include <string>#include <cstring>#include <cstdio>using namespace std;const int maxn = 1000;struct bign{ int len, s[maxn]; bign()//构造函数 {

2015-03-29 21:11:13 447

原创 POJ 1014 Dividing(简单dp)

Description Marsha 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 ha

2015-03-25 23:53:29 385

原创 广义欧几里得除法求sa+tb=(a,b)

/**author : flint *time : 2015-3-16 21:34:21*ver 0.1*/#include<iostream> #include<cstdio> int s[1000];int t[1000];int q[1000];int r[1000];using namespace std; int main(){ int a,b; p

2015-03-24 23:15:28 10170

原创 模重复平方计数法的C++实现

/** @author Novicer* language : C++/C*/#include<iostream>#include<sstream>#include<fstream>#include<vector>#include<list>#include<deque>#include<queue>#include<stack>#include<map>#include<

2015-03-24 23:12:21 2128

原创 CodeForces 342B Xenia and Spies(贪心)

Description Xenia the vigorous detective faced n(n ≥ 2) foreign spies lined up in a row. We’ll consider the spies numbered from 1 to n from left to right.Spy s has an important note. He has to pass th

2015-03-05 21:27:43 698

原创 CodeForces 384B Multitasking(大概是贪心)

Description Iahub wants to enhance his multitasking abilities. In order to do this, he wants to sort n arrays simultaneously, each array consisting of m integers.Iahub can choose a pair of distinct in

2015-03-04 22:29:40 542

原创 CodeForces 510B Fox And Two Dots(图论-回路判定)

Description Fox Ciel is playing a mobile puzzle game called “Two Dots”. The basic levels are played on a board of size n × m cells, like this:Each cell contains a dot that has some color. We will use

2015-03-04 11:30:51 788

原创 CodeForces 382B Number Busters(数论-数学推理)

Description Arthur and Alexander are number busters. Today they’ve got a competition.Arthur took a group of four integers a, b, w, x(0 ≤ b < w, 0 < x < w) and Alexander took integer с. Arthur and Alex

2015-03-04 00:29:25 637

二分查找教程

二分查找ppt教学演示,内附代码,来自武汉大学

2014-10-11

空空如也

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

TA关注的人

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