自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

moon_NO2015的博客

Beyong the river!

  • 博客(73)
  • 资源 (3)
  • 收藏
  • 关注

原创 HDU 4778 Gems Fight!

题意:就是有G种颜色,B个背包,每个背包有n个宝石,颜色分别为c1,c2...........。两个人轮流取背包放到公共容器里面,容器里面有s个相同颜色宝石的时候,这s个相同颜色的宝石会融合成一个魔法石。当选手选择一个背包放到公共容器里会产生魔法石,魔法石就归这个选手所有,并且奖励这个选手再选一个背包,直到不再产生魔法石为止。(每个背包只能选取一次)每个选手会尽量使自己得到的魔法石最多,问最后先手

2016-11-24 14:11:31 392

原创 HDU 5877 Weak Pair

题意;求所有点的祖先节点中与他的权值的乘积小于k 的个数的和;思路:我们在从祖先节点开始进行DFS, 当跑到该节点时,在线段树中查找比k/val[u] 小的权值的个数,并在线段树中该权值对应的点+1, 当回溯的时候该点权值的位置在-1。由于权值的范围较大,可以先将权值离散化,或者直接建立一颗手动分配内存的线段树,如果离散化树状数组也可解,当然维护一个set也是可以的。代码:#inc

2016-09-12 20:53:11 329

原创 凸包的面积交,面积并。

题目:NBUT 1640:多边形的公共部分。题意是求:两个简单多边形是否有相交。思路:计算出两个凸包的面积交或者面积并,都可以解决这个问题。由于题目说了是简单多边形,而且是逆时针的顺序输出的,所有不需要求凸包了。求面积交的代码:#include#include#include#include#include#include#include#include

2016-09-02 20:09:54 1448

原创 codeforces 707D Persistent Bookcase

题意:一个n*m的矩阵执行四种操作:1,i,j位置置1;2,i,j位置置1;3,第i行,0变1,1变0;4,返回第i次操作的状态。思路:我还真以为是可持久化呢!我就说CF咋出这么难的数据结构,没想到就一个简单的dfs。代码:#include#include#include#include#include#include#include#include#i

2016-08-21 10:18:32 552

原创 HDU 5860 Death Sequence

题意:一个线段上的约瑟夫问题。做法:简单暴力,思路清晰的线段树,或者DP线段树做法:#include#include#include#include#include#include#include#include#include#include#include//#includeusing namespace std;#pragma comment(linke

2016-08-20 19:51:12 468

原创 HDU 5861

题意: 在一条线上有n个站,相邻站只有有条路,打开每天需要花费w[i],但是每条路只能开,关一次。有m天的行程,从ai到bi,问每一天的花费。思路,找出每条路的最大和最小经过的日期,加到对应的答案区间。代码:#include#include#include#include#include#include#include#include#include#include

2016-08-20 15:42:06 312

原创 HDU 5862 Counting Intersections

题意: 问与坐标轴平行的这些线段有多少个交点。思路: 线扫描的思想,这种做法也是很好想的。由于坐标的范围较大,可将其中一个坐标离散化(我是离散化X坐标)。由于题目中有声明:The input data guarantee that no two segments share the same endpoint, no covered segments, and no segments

2016-08-20 11:15:26 426

原创 HDU5858 Hard problem

题意:求阴影部分面积。思路:就是小圆的面积减去大圆与小圆面积交的二倍。#include#include#include#include#include#include#include#include#include#include#include//#includeusing namespace std;#pragma comment(linker, "/STAC

2016-08-20 09:50:28 442

原创 SPOJ DQUERY

题意: 求区间内不同元素的个数。做法:主席树,莫队等等。主席树:又叫可持续化线段树。说白了就是每一个前缀和都建一颗线段树。表示出以该点结尾的区间的区间不同数的个数。  虽然说建立n棵线段树,其实每颗线段树只有longn个点,来维护整个树的信息。因为每两个相邻的线段树只有一个值不同,那么我们就刚好就是这long n个点。不会主席树的可以看看代码。试着将这那个线段树画出来,看看他们每个点的

2016-08-18 09:23:08 372

原创 HDU 5834 Magic boy Bi Luo with his excited tree

题意:问从每个节点出发,能获得的最大价值。做法:树形DP。思路:用两个DFS。第一个DFS维护出,每个节点,从它的所有子节点返回该点能得到的最大价值(subtree_max_back),它的一个子节点不返回该点可以得到的最大价值(subtree_max_nback)和次大值(subtree_submax_nback),以及不返回的最大价值是当那个点不返回时得到的(subtree_max

2016-08-15 17:05:55 502

原创 HDU 5833 Zhu and 772002

题意:300个质因子小于2000的数中,选取若干个数出来,使他们的乘积为完全平方数。思路: 如果一个数是完全平方数,那么它的每个质因子的个数都为偶数。那么我们就可以列出一系列的方程。a11x1+a12x2+...+a1nxn=0a21x1+a22x2+...+a2nxn=0...an1x1+an2x2+...+annxn=0aij:第i个质数(2000内有303个质

2016-08-15 11:42:15 330

原创 HDU 5839 Special Tetrahedron

题意: n个点中,选出4个点出来构成一个四面体,要求四面体至少有四条棱要相等。并且不想等的两条棱不能相邻。思路:1. 据说N^4直接暴力加一点点的优化就可以过了。           2.我们可以枚举每条棱,假设它与其他棱不想等,那么我们再去枚举点,找到一群与该线段的两个端点的距离相等的点,那么我们再去找这群点中找出 与改线段的端点的距离相等的点对,现在这四个点组成的四面体就满足了第一个条

2016-08-15 10:09:11 377

原创 HDU 5828 Rikka with Sequence

题意: 对一个长度为10W 的数组进行如下三种操作:1,区间[l,r]的数都加上x;2,区间内的没个数都开根号(向下取整);3,求区间[l,r]每个元素的和。官方题解:但是官方标程也被卡T了。据说hack数据是:10万个2,3,2,3,2,3.......,10万个操作 加6,开根。但是题的确不错。在本题中我并没有按照官方题解的方法。我们可以想下,发现区间的最大值,最小

2016-08-13 21:30:38 362

原创 HDU 5829 Rikka with Subset

题意: 给一个数组A[n], 要求出所有的T[k],T[i]指A数组的所有子集中前k大的和的和。虽然只是用FFT的原理,NTT的模板。将代码中的A和B卷积,然后再乘上,各自对应的系数1/(2……k*(k-1)!);需要需用:费马小定理,费马素数 FFT等等。代码:#include#include#include#include#include#includ

2016-08-13 19:06:40 979

原创 LA3907 Puzzle

题意:给s个禁止子串,求不含他们的最长串。思路:用这s个禁止串建一个 AC自动机,那么这些串的尾节点表示禁止节点。然后DFS判断是否存在环(为环就无限长了),在DFS的时候顺便记录下跑的路径,在输出字符串的时候就方便了。代码:#include#include#include#include#include#include#include#include#include#i

2016-08-04 09:58:56 285

原创 LA 2755 Hidden Password

题意:一个长度为n的串,它可以按位循环左移,问变成最小字典序的字符串需要左移多少次。据说后缀数组要TLE。正解是“字符串最小表示” PPT在:http://download.csdn.net/detail/moon_no2015/9006921可以免费下载。代码很简单,至于为什么,看PPT吧。#include #include #include using namespace s

2016-08-03 19:58:08 367

原创 LA 11107 Life Forms

题意:在一个最大的字符串,使得它在超过一半的DNA序列中出现。思路:首先用不同字符间隔将所有输入的串拼起来,,求出这个新串的后缀数组和height数组,然后二分长度P,每次只需要判断出是否有一个长度大于P的串在超过一半的串中连续出现。判断方法是扫一次height数组,将其分成若干段。每当height[i]小于p时开辟一个新段,则每一段的最初p个字符均相同,只要某段中包含了超过n/2个原串的后缀

2016-08-01 17:10:15 362

原创 UVA 11019 Matrix Matcher

题意:找在矩阵T中P矩阵出现的次数做法:AC 自动机,或者hash。hash版:http://blog.csdn.net/moon_no2015/article/details/47760299AC自动机版:#include#include#include#include#include#include#include#includeusing namespace

2016-08-01 11:00:14 297

原创 UVA 11468 Substring

题意:给出一些字符和各自对应的选择概率,随机选择L次后将得到一个长度为L的随机字符串S.给出K个模版串,计算S不包含任何一个串的概率思路:d[i][j]表示当前在结点i,还要走j步,不碰到任何禁止结点的概率.,在计算last的语句后面加一个val[u]|=val[f[u]],来计算禁止结点代码:大白书P216#include#include#include#include#in

2016-07-31 20:51:36 298

原创 LA 4670 Dominating Patterns

题意:找出在文本串中出现次数最多的字符串。方法:AC自动机。基本上算模板。(按照大白书的写法)#include#include#include#include#include#include#include#includeusing namespace std;#define ll long longconst ll mod = 20071027;#define nn

2016-07-31 15:33:23 258

原创 UVA 11732 "strcmp()" Anyone?

题意: 输入n个字符串,两两调用一次strcmp(),问字符比较的总次数。分析:两个相同字符         比较2次           两个不同字符         比较1次           ‘\0’和'\0‘                  比较两次            '\0'和其它字符       比较一次思路: 建一颗字典树,然后每insert一个字符串,就

2016-07-31 11:05:01 353

原创 HDU5754 2016年第三场多校C

题意不说了,伤心,不知道这群人怎么找出来的规律#include#include#include#include#include#include#include#include#include#includeusing namespace std;int n,m;int main(){ int t,op; scanf("%d",&t); whi

2016-07-26 20:20:51 277

原创 HDU 5726 GCD 2016年多校D题

题意:给你一个长度为n 的数组,q次询问,每次询问给一个区间 l,r 问原数组有多少个连续的区间的GCD与该区间的GCD 相等。思路:用MAP记录所有区间的各种GCD值得数量。代码如下:(不要全部用LL,要T呀)#include#include#include#include#include#include#include#include#include#includ

2016-07-25 17:18:27 518

原创 hdu5725 Game 2016年多校C

题意:给你一个n*m的棋盘,棋盘上有一些守卫,守卫之间不能相互攻击(守卫的攻击范围为同行,同列与 相邻的其他8个方格)。求从棋盘上任取两方格(可以为同一个)问最短距离的期望。思路: 我们可以先求出 忽略守卫占位的影响总的最短距离,然后再加上守卫占位使得最短距离+2的条数*2(考虑方向性,不同方格队的数量*4).根据上图我们可以看出对于每一行的右边部分(1区域)的点到2区域的点的

2016-07-25 11:02:35 796

原创 HDU5667 Sequence

就是个矩阵二分幂吧#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define MAXN 4#define ll long longconst ll INF=0x3f7f7f7f;ll mod;

2016-04-17 14:48:35 385

原创 hdu5653 Bomber Man wants to bomb an Array.

问题描述:给一个长度为 N 的一维格子和一些炸弹的位置,请你计算 “最大总破坏指数”。每个炸弹都有向左和向右的破坏力,如果一个炸弹向左和向右的破坏力分别为 L和R,那么该炸弹将炸毁 L+R+1个格子(左边L个,炸弹所在格子,右边R个)。破坏指数的计算方式为:所有炸弹炸毁的格子数的乘积。假设第i个炸弹炸毁了Xi个格子,那么总破坏指数就是 X1∗X2∗....Xm​​。

2016-03-27 19:23:54 386

原创 hdu5652 India and China Origins

官方题解:这是一个连通性的问题。你会发现如果将所有操作逆序来看的话就很容易用并查集来处理了。 首先把所有的山峰都加到图中,然后逆序处理每个操作: 对某次操作,在图中删除该位置的山峰,然后判断两个点是否联通,一旦联通就得到了结果。 这里需要对China和India分别新建一个对应的节点。当然加点操作也是可行的。#include#include#include#include#incl

2016-03-27 18:45:55 723

原创 大视野1047 [HAOI2007]理想的正方形

一道简单的二维RMQ,#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#pragma comment(linker, "/STACK:1024000000,1024000000")#define nn

2016-01-31 11:37:10 341

原创 codeforces587C Duff in the Army

LCA 问题,需要用到倍增(包括点上的信息),不然会T。#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#pragma comment(linker, "/STACK:1024000000,1024000

2016-01-29 16:26:55 528

原创 POJ2763 Housewife Wind

树链剖分有两种操作,1.修改边的权值2.询问路径权值和#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#pragma comment(linker, "/STACK:102400000

2016-01-28 17:01:58 287

原创 HDU3078 Network

LCA问题,先输入n,和q;表示节点的个数和操作的个数然后一行n个数,表示这n个节点的权值然后n-1行,每行两个数,表示节点u与节点v相连最后q行,表示操作 每行三个数,k,u,v;当k=0时,将u点的权值改为v当k>0时,输出从u->v路上第K大的权值首先求出节点u和节点v的最近公共祖先lc,然后将节点u到lc的点的权值记录到p数组中,再将v到lc的权

2016-01-28 11:29:06 364

原创 POJ 1330 Nearest Common Ancestors

LCA 的 入门级题目。现在给你一棵树,求u和v的最近公共祖先是那个节点。方法有很多种,可以用RMQ,tarjan或者是回溯打标记。#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#pragma

2016-01-27 16:23:53 244

原创 HDU1075 What Are You Talking About

水题一道,可以用字典树也可以用map做。都很简单;字典树版#include#include#include#include#include#includeusing namespace std;#define nn 1001000char s[nn];struct Trie{ int ch[nn][26]; int val[nn]; cha

2016-01-26 10:08:28 294

原创 HDU1251 统计难题

简单的字典树,当然也可以用其他方法。#include#include#include#include#include#includeusing namespace std;#define nn 1001000#define lson l,mid,rt<<1#define rson mid+1,r,rt<<1|1struct Trie{ int ch[nn][2

2016-01-24 21:14:18 324

原创 HDU 2072 单词数

字典树。这题真的有点坑。1,输出为0的情况。2,第一个单词前面有空格3,单词间的空格不止一个4,最后的单词后面的空格#include#include#include#include#include#includeusing namespace std;#define nn 1001000char s[nn];struct Trie{ int

2016-01-24 21:12:30 261

原创 POJ2482 Stars in Your Window(线段树)

题意:在一个平面内有N个星星,每个星星都在一个亮度值,用一个W*H的矩形去围这些星星,(边上的不算)求能得到的最大亮度值。思路:我们很容易想到,可以动态的维护出每个宽度为W 的区间内,找出满足的星星,然后在高度为H的范围内求和。但是这样明显时间复杂度太高,维护宽度为W的区间只需要o(n),在高度为H的范围内求和时间复杂度为o(n*H),总的就是o(n^2*H).显然“维护宽度为W的

2016-01-23 15:13:55 442

原创 [Zjoi2013]K大数查询

两个线段树,来维护C在任意区间上出现的次数。外层按质(C)建树,内层按下标建树(只建需要用到的节点)。#include#include#include#include#include#include#includeusing namespace std;#define LL long long#define ull unsigned long long#define nn

2016-01-20 11:00:03 702

原创 大二周赛之今天有点不开心(-。-;)

第一题:来源于POJ3690题意:给出一个n * m的矩阵,矩阵中只有一些*或者0,n 解法:hash.把每一行连续的p个数hash成一个long long 的二进制数,就可减少判断的次数,当然也可以将每个P* Q的矩阵给hash一个数(要用unsigned,可以自动取模)。代码:#include#include#include#include#include#inclu

2015-12-12 16:13:49 524

原创 SWUST大二周赛 之农夫山泉有点甜

第一题:  codeforces 485b题意:给定一些点,要用尽量小的正方形框住所有的点,输出矩形的大小。解题思路:维护x的最大值和最小值。同理y。然后取差值中的最大值作为变成,注意用long long代码:#include#include#include#include#includeusing namespace std;#define ll long lo

2015-11-21 14:15:49 2517

原创 HDU2108 Shape of HDU

题意简单就是,凸包的判定;我们可以用向量叉积的正负来判定;我们去除连续的三个点a,b,c,如果(a-b)叉乘(a-c),如果,大于零,则b点的角度小于180度,这样判断出所有的角度,就可以确定该多边形是不是个凸包。代码如下#include#include#include#includeusing namespace std;#define ll long longcha

2015-09-01 16:46:02 538

2015-2016 ACM-ICPC Northeastern European Regional Contest 标程

2015-2016 ACM-ICPC Northeastern European Regional Contest 标程

2016-08-23

字符串最小表示法

字符串最小表示法PPT

2016-08-03

网络流与线性规划24题

这24题包含了常见的网络流的建图方式,值得初学者认真做做!但是很多OJ上都没有这些题了(不要问我为什么)!这里面包含了每道题的思路和代码,还有一部分的测试数据!做好了,自己也可以测一测,只是麻烦了点!

2015-08-14

空空如也

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

TA关注的人

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