自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 经典题! 双指针枚举半平面,求最大最小值

4880: [Lydsy2017年5月月赛]排名的战争Time Limit: 8 Sec  Memory Limit: 256 MBSubmit: 281  Solved: 53[Submit][Status][Discuss]Description小Q是一名出色的质检员,他负责质检一批手机的质量。手机包含两个性能属性:电池寿命x_1与坚硬度x_2。小Q将为它们评估

2017-05-31 21:44:22 297

原创 三分套三分(bzoj4885)

首先长方体每个顶点等价,不用算8个。 其次一个点最远的距离显然是在3个与其不相邻的面取到的。 然后我们大力枚举3个面,大力来一发三分套三分。 接下来的问题是,如何求出长方体上两个顶点之间最短路的距离。 1.展开图如下:这种情况十分简单,自己yy一下就可以了。 2.展开图如下 这也也是可以用勾股定理算出来的。 到此,全部情况讨论完毕,得到答案。#inc

2017-05-31 16:32:03 447

原创 bzoj4883 4886 图论新高度!!!!!

Description在一个n*m的棋盘上要放置若干个守卫。对于n行来说,每行必须恰好放置一个横向守卫;同理对于m列来说,每列必须恰好放置一个纵向守卫。每个位置放置守卫的代价是不一样的,且每个位置最多只能放置一个守卫,一个守卫不能同时兼顾行列的防御。请计算控制整个棋盘的最小代价。Input第一行包含两个正整数n,m(2接下来n行,每行m个正整数其中第

2017-05-31 13:44:13 312

原创 算法马拉松25 二分答案(组合数新高度!!!无敌的降维)

题目传送门lyk最近在研究二分答案类的问题。对于一个有n个互不相同的数且从小到大的正整数数列a(其中最大值不超过n),若要找一个在a中出现过的数字m,一个正确的二分程序是这样子的: 最终a[r]一定等于m。但是这个和谐的程序被熊孩子打乱了。熊孩子在一开始就将a数组打乱顺序。(共有n!种可能)lyk想知道最终r=k的期望。由于小数点非常

2017-05-31 11:29:10 379

原创 玲珑学院1131 - 喵哈哈村的几何大师╰☆莣メ誋こ月

人生第一道几何题,也是需要写博客的╰☆莣メ誋こ月是月大叔的ID,他是一个掌握着429种几何画法的的几何大师,最擅长的技能就是搞事,今天他又要开始搞事了。给你一个等腰三角形,其中A,B,C,D角已知,求E角的角度。INPUT输入第一行包含一个正整数t(1≤t≤100),表示有t组数据对于每组数据:第二行四个整数,A,B,C,D表示度

2017-05-30 22:44:08 279

原创 线段树变形(玲珑学院1129)

题目链接区间更新和查询,无非就是换了种思想。可以二分来查一个区间的左区间和有区间是否有大于x的数,然后nlogn完美解决问题!坑了我一晚上,居然是一个sum的初始化,没初始化完的锅!!!#include#include#include#include#include#include#include#include#include#include#includ

2017-05-30 20:40:50 432

原创 湘潭OJ 1264 挺好的一道贪心题

题目链接Partial SumBobo has a integer sequence a1,a2,…,an of length n.Each time, he selects two ends 0≤lr≤n and add |∑rj=l+1aj|−C into a counter which is zero initially.He repeats the

2017-05-25 21:33:31 327

原创 数论之路慢慢之GCD性质

题目链接Strange OptimizationBobo is facing a strange optimization problem. Given n,m, he is going to find a real number α such that f(12+α) is maximized, where f(t)=mini,j∈Z|in−jm+t|.

2017-05-25 20:58:14 1668

原创 BZOJ4801(模拟)

题目链接Description小Q同学正在和糖老师一起打(d)牌(p)。这个游戏需要52张牌,分为四种花色(H表示红心,S表示黑桃,C表示梅花,D表示方块),每种花色有A,K,Q,J,10,9,8,7,6,5,4,3,2这么多张牌,其中A是最大的,2是最小的。游戏的第一轮从小Q同学开始,他会先展示一张牌,然后轮到糖老师展示一张牌。双方都展示完手牌之后进入结算环节,展示较

2017-05-25 08:04:38 336

原创 2017WF场外经历

虽然进不了final, 但是有一颗final的心,晚上通宵看直播,(做题)。主要还是在看直播,给中国队加油打气。和两个朋友待在实验室,真正实现了通宵学习的伟大目标, 感觉还不错。虽然只做了两道水题,I题,忘了考虑环,改了对了。E题二分,1Y。F题,题意生生就是看不懂啊,,难受,。。其实final也不都是难题嘛,这次的经历,很精彩,也很难忘。总之以后还是继续努力,加油喽

2017-05-25 07:04:58 276

原创 求出每条边两边有多少个点。

题目链接题解:只需要判断一条边两边的点数是否都为偶数,如果都为偶数,那么不加这条边,否则加上这条边。关键,dfs一遍,求出每条边两边有多少个点。#includeusing namespace std;typedef pairP;typedef long long ll;struct node{ int a,b,c,next;}edge[20010];int cnt;

2017-05-24 18:24:03 333

原创 初试01字典树(求异或问题)

题目链接一般01字典树用来解决区间异或和之类的问题。 异或的性质: 1. 交换律 2. 结合律,即(a^b)^c = a^(b^c)) 3. 自反性,即x^x=0 4. x^0=x 其中运用最多的就是自反性。有上述性质,对于区间异或和要知道如下性质: XOR[l,r] = XOR[1,l-1] ^ XOR[1,r]题意:求n个数中最大异或和值的区间。有多

2017-05-23 17:50:57 1827

原创 数位DP(离散化+技巧)

题目链接从1到9的最小公倍数是2520,每一个数被自己的非零位整除,则一定为2520的某一个因子整除,因此求和可以直接对2520取模,这样不影响结果,从1到2520,所有的最小公倍数只有48个,因此可以离散化一下,后面就是数位dp的过程了。dp[pos][presum][index[prelcm]]表示到了第几位,到目前为止和为多少,到目前为止的lcm值。#include#include

2017-05-22 18:57:03 353

原创 斐波那契数和GCD的关系定理

点击打开链接总之,这个定理太强了#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;typedef long long ll;typedef pairP;const int IN

2017-05-22 13:32:22 764

原创 线段树区间更新+区间合并

题目链接一看就是线段树区间合并的题。俩操作,一个跟新,一个查询#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;typedef long long ll;const

2017-05-22 10:52:46 284

原创 KMP匹配原串中有多少子串

#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;typedef long long ll;const int INF=0x3f3f3f3f;char str[1000010];char

2017-05-20 20:08:03 312

原创 2017中北大学程序设计大赛决赛题解

中北题解

2017-05-20 13:07:02 2206 5

原创 二次手撕线段树区间更新

题目链接题意:这个题说白了就是一个线段树区间跟新的问题,只不过是刻意加大了难度。操作一:从x-n每个点加k+td(t=0,1,2……);操作二,输出某个点的值,并清0题解:明显的线段树区间更新。每个点都加k这个简单。只不过延迟更新需要更新区间内的点加了多少次,就有点困难了,但是查询的时候只查一个点。所以可以一直把设计每个点的做区间记录下来,然后在查询的时候一起算node[n]=(n

2017-05-19 16:05:08 255

原创 特别玄学的一道题

点击打开链接题意:给你n个点,每个点有一个以他自身为中心的范围,求每个数能扩散的最大范围,扩散具有传递性!官方题解:很多人的做法是先对每个点找出最右边传染病可以到达的位置,再找出最左边可以达到的位置,然后二者相减。这样做很明显的问题是你最右边可以达到的位置可能是在你左边的人所传染的。一种做法是可以二分预处理出来每个点单次传染到的左右范围,再用线段树维护每个点最终的范围最小值、最

2017-05-18 21:47:31 287

原创 字典树初级

题目链接题意:给一个字符串,求组成这个字符串的期望最大,字串有自己的权值。题解:考虑动态规划。从一个点出发可以检查后面每一个可能的单词的权值,然后更新它的后继状态。可以用 map 或者 trie 来维护(map 可能需要适当优化,否则很容易超时)。有几个小技巧:最后回溯的时候,只要在每一个走过的地方打一个点,然后从左往右一个一个字符输出,碰到点就输个空格就好了。使用 map 的

2017-05-18 19:37:48 164

原创 初试KMP!

题目链接题意:一堆废话,就是说取一个前缀和一个后缀,求他们之间相同的字串的长度(然后按题意算一算)。难点就是求这个相同的长度。当然首想KMP;(KMP的next数组存的是前面字串前缀和后缀重复的长度)枚举每一个后缀,再枚举每一个前缀,求一下公共长度,算一下就好了!#include#include#include#include#include#include#inc

2017-05-18 09:16:35 179

原创 哈密顿图的利用

题目链接对于题意我是真的理解错了。难受,wa无数发题意:其实是任意两个人都有鄙视关系,你鄙视我或者我鄙视你,就是n个点一个完全图,每条边带方向。求最长链分别是1~n是的个数。官方题解是说可以证明不论怎么画最长链都是n(都存在哈密顿路径),所以不是n的长度答案都是0只有n的时候有答案,需要计算。这要怎么证明呢?反正法,假设不能。下面点用数字表示。当只有一个点的

2017-05-17 16:55:33 953

原创 魔力手环,黑科技的矩阵快速幂优化(n3变n2)规律吗,只要愿找,总还是有的!

题目链接优化:矩阵很好推因为就是两两和n=3的时候就是1 0 11 1 00 1 1还有就是这个矩阵进行求幂次的话,你会发现不可描述的规律,(自己算下,不要偷懒);又因为初始矩阵除了第一行其他全是0,也是n2复杂度,轻松过题#include#include#include#include#include#include#include#in

2017-05-17 16:53:18 188

原创 lca+斐波那契

点击打开链接Description有一棵树,树上有只tmk。他在这棵树上生活了很久,对他的构造了如指掌。所以他在树上从来都是走最短路,不会绕路。他还还特别喜欢三角形,所以当他在树上爬来爬去的时候总会在想,如果把刚才爬过的那几根树枝/树干锯下来,能不能从中选三根出来拼成一个三角形呢?Input第一行输入一个T,表示有多少组样例。对于每组数据:第一行包含

2017-05-15 17:23:34 274

原创 数位DP之找等凹数字

题目链接#include #include #include #include #include #include #include #include #include #include #include #include using namespace std;long long dp[20][20][10][2][2][2];int num[20];int

2017-05-15 16:08:35 305

原创 基础DP,数列中取k个区间,使和最大

#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;typedef long long ll;typedef unsigned long long ull;const ll INFF=0x3

2017-05-15 11:13:14 422

原创 组合计数(容斥定理+卢卡斯定理的正确姿势)

题目链接组合计数的重要性,居然忘了求组合数用卢卡斯加速!得找到公式,进行容斥题解:´容斥原理´首先,用k种颜色的方案为c(k,k)*(k)*(k-1)^(n-1)´从k种颜色方案中减去用k-1种颜色方案c(k,k-1)*(k-1)*(k-2)^(n-1),得到恰好用k种颜色方案数。´多减去的k-2种颜色方案数c(k,k-2)*(k-2)*(k-3)^(n-1)要重新加上

2017-05-15 11:09:22 441

原创 DP新姿势

题目链接题解´当n大于3600时,一定可以,证明:当(presum[i]-presum[j])%3600 == 0时,成立,根据抽屉原理,当n > 3600时,一定有presum[i] == presum[j](mod 3600)´当n时,dp´f[p][(j+a[i])%mod] |= f[p^1][j];´f[p][j] |= f[p^1][j];新的姿

2017-05-14 22:18:09 318

原创 HDU5901 1e11以内素数的个数

#include #include #include #include #include #include #include #include #include #include using namespace std;typedef long long LL;typedef unsigned long long ULL;const LL INF = 1e9+5;con

2017-05-11 22:26:22 737

原创 平衡树

#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;#define REP(i, n) for (int i = 0; i < (n); ++i)

2017-05-08 18:48:08 193

原创 hdu6030 (矩阵快速幂)

这道题让我深深感到了线性代数的重要性啊,递推关系式不是随便搞搞就能出来的!如果用a表示红色,用b表示蓝色。题意明显可以看出只需要管长度2和3的连续序列是否符合!如果以b结尾,那么下一个必须是a,或者加个aab就可以了!所以就是a[n]=a[n-1]+a[n-3];出现了n-3应该就是三维矩阵了!矩阵要是从a【n-1】推导到a【n】,那么令a【n-1】为第一维,a[n]=a[

2017-05-08 11:59:11 1036

原创 线段树区间更新

#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;typedef long long ll;const double PI=acos(-1.0);const double EXP=1e-8

2017-05-03 16:02:29 213

空空如也

空空如也

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

TA关注的人

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