自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Yucohny

aim at Microsoft

  • 博客(54)
  • 收藏
  • 关注

原创 Codeforces 1013C Photo of The Sky

简单说一下题意: 给你2n2n2n个数,任意组合得到nnn个坐标点,求最小矩形面积能够框住这nnn个点。当时做的时候直接跪了…毫无思路…最后看了题解才懂我们先将这2n2n2n个数排序得到a1,a2...a2na1,a2...a2na_1,a_2...a_{2n},然后考虑一下问题的转化:我们应该如何计算矩形的面积?因为矩形是要求把这nnn个点框住的,所以稍微想一下不难得到:S...

2018-07-31 13:21:16 452

原创 BZOJ P3343 教主的魔法【分块】

大则分,分则合。#include <bits/stdc++.h>const int Max=1e6+5;int N,M,S,SNum;char CH[3];int A[Max],B[Max],Lazy[Max],Block[Max];using namespace std;int Find(int X,int V){ int I,J,K,L=(X-1)*S+1,R...

2018-07-30 05:15:04 175

原创 HDU P6183 Color it【线段树】【动态开点】

OrzOrzOrzOrzOrzOrz感觉以前写的动态开点都很板……涨姿势……代码的原型好像来源于ClarisClarisClaris,受用不尽OrzOrzOrzOrzOrzOrz。#include <cstdio>#define min(X,Y) (X>Y?Y:X)const int Max=1e6+5;const int Inf=1e9;int X,Y1,Y...

2018-07-30 04:44:44 252

原创 POJ P2828 Buy Tickets【线段树】【详细题解】

大概说一下题意: 有nnn个人,带着想要插队的位置(从000开始编号)和自身的一个valvalval值进行插队,输出最后的valvalval序列。题意就是这样,正着想没什么思路那就想想逆推,毕竟正难则反。其实这道题为什么要逆推也容易理解。序列始终是一个动态序列,我们无法在要求的时间内处理,而最后的序列是固定的,所以我们考虑逆推。从后往前,那么每个人的位置其实都固定了。比如...

2018-07-30 00:37:06 238

原创 HDU P2795 Billboard 【线段树】

很优秀的一道题,做了各种线段树才感觉自己见的真的很少。我们把每一层看做一个叶子节点,每段区间除了存储左右端点之外再存储一个LenLenLen值,LenLenLen表示在当前区间内剩下的某一层最长的宽度。于是判断−1−1-1的情况就只需要判断需要与Tree[1].LenTree[1].LenTree[1].Len的大小即可,然后我们一边更新一边查找即可。参考代码:#include...

2018-07-27 19:11:13 112

原创 HDU P1698 Just a Hook【线段树】

题目不难,但是由于此处的标记感觉十分巧妙,所以提一下。容易发现我们在涂色的时候会出现某一段区间的颜色有多种的的情况,这个时候我们用一个类似于LazyLazyLazy的标记ColorColorColor标记一下,如果Color==−1Color==−1Color==-1说明此段区间颜色不唯一,否则颜色唯一。而我们在查询的时候避开Color==−1Color==−1Color==-1的情况搜索左儿...

2018-07-27 18:46:23 106

原创 NKOJ P2359 「NOIP模拟」Lyric【字符串模拟】

痛过以后 才知情已难寻 吾爱至斯 只剩飞花梦影 回首再望 蜀山依旧伫立 看尽浮沉 独饮回忆 ——《少年情》 旋律动听的曲子,伴着意境深远的lyriclyriclyric而显得更加优美。要想学会一首歌,没有一份装订精美的歌词,你让我情何以堪。 你的任务是,将一份歌词,按照给出规则整理好。 题面真有意思…字符串模拟,认真模拟,把所有信息都存在结构题里面,然后根...

2018-07-26 16:16:20 196

原创 BZOJ P3505 LOJ P2240 [CQOI2014] 数三角形【组合数学】

显然问题求解可以转化:求可以构成多少个三角形等价于在网格中任选三点的方案数减去三点共线的方案数。网格中任选三点的方案数根据组合数易得。现在考虑一下三点共线的方案数。首先我们仍然容易得到三点都是横着与竖着的情况,接下来我们只需要考虑横着的三点共线的方案数即可。枚举每个点(i,j)(i,j)(i,j),则(i,j)(i,j)(i,j)和(1,1)(1,1)(1,1)再与其他的一个点能共线的...

2018-07-26 13:44:14 216

原创 HDU P2089 不要62【数位DP】

应该是数位DPDPDP的板题了吧。DP[I][J]DP[I][J]DP[I][J]表示JJJ开头的III位数满足条件的个数,容易得到: DP[I][J]=∑DP[I−1][K],′J′!=4,′JK′!=62DP[I][J]=∑DP[I−1][K],′J′!=4,′JK′!=62DP[I][J]=\sum DP[I-1][K],'J'!=4,'JK'!=62 最后统计答案:AnsiAnsi...

2018-07-25 22:18:38 130

原创 BZOJ P1911 [APIO2010] 特别行动队【Riypo的第一道斜率优化】【已更新】

设f[i]f[i]f[i]表示只考虑前iii个数的最大值,Sum[]Sum[]Sum[]表示前缀和,F(x)=ax2+bx+cF(x)=ax2+bx+cF(x)=ax^2+bx+c显然: f[i]=f[j]+F(Sum[i]−Sum[j])     1≤j≤i

2018-07-25 12:20:51 181

原创 BZOJ P1370 [Baltic2003] 团伙【并查集】

感觉这道题和NOIPNOIPNOIP关押罪犯很相像?把每个人看成一个点,然后人与人之间的关系看成边,首先把点iii拆成两个点iii和i+ni+ni+n,如果两个人是朋友的话直接连边就好了,否则的话就xxx到y+ny+ny+n一条边,yyy到x+nx+nx+n一条边,最后统计一下答案就可以了。参考代码:#include <cstdio>const int Max=1e3...

2018-07-23 14:44:14 258

原创 BZOJ P1342 [Baltic2007] 静音问题 【单调队列】

大概先解释一下题意: 给定序列中有多少个长度为mmm的区间中最大值与最小值的差≤c≤c\leq c,输出左端点。如果无输出,则输出NONENONENONE给定题意之后这道是不是就变得十分简单了?由于nnn的范围有点大,用STLSTLSTL也许会TLETLETLE,不过这道题的时间范围是3s3s3s,应该可以过吧?当然这道题除去STLSTLSTL肯定还是有更加优秀的做法的,比如...

2018-07-23 14:31:17 229

原创 BZOJ P1002 [FJOI2007] 轮状病毒【线性递推】【高精度模拟】

这道题虽然是线性递推…..但是我也就是多写了几个nnn轮状病毒的个数….然后找规律……设iii轮状病毒的个数为f[i]f[i]f[i],不难找到的规律: f[i]=f[i−1]∗3+2−f[i−2]f[i]=f[i−1]∗3+2−f[i−2]f[i]=f[i-1]*3+2-f[i-2] 然后高精度模拟一下就好了。参考代码:#include <cstdio>cons...

2018-07-23 01:56:32 248

原创 BZOJ 2460 [BJOI2011] 元素【线性基】【贪心】【挖坑】

第一道线性基的题…还是比较简单的…挖个坑:改天补一篇线性基的学习笔记…显然,我们需要用线性基来维护我们选取的非空子集中不存在异或出结果为000的情况,但是我们还需要满足最后得到的权值最大。根据异或的性质我们不难想到可以根据贪心来求解:我们将每件物品按照权值从大到小排序(pairpairpair的小优势就体现出来了),然后不断插入线性基中累加答案。关键代码:#include &l...

2018-07-23 01:22:21 262

原创 BZOJ P1001 [BJOI2006] 狼抓兔子【最大流最小割】【挖坑】

很久没有写网络流…现在写这道最小割板题居然调了两小时…很难受啊连边然后直接上网络流就可以了….没什么思维难度和代码难度(?你明明写两小时)…看了其他题解说这道题可以用什么叫做对偶图然后跑最短路?这道题最开始确实有写最短路的想法,但是完全不知道最短路应该如何连边。看了网上的其他题解,说有一个东西叫做对偶图,感觉很厉害,所以挖一个坑,找个时间去了解一下对偶图,顺便用最短路做一下。关键代码:...

2018-07-23 00:03:55 249

原创 NKOJ P3735 秀肌肉【莫队】

原来lym学长这么健美嘛…嗯…这是一道比较板的莫队了,稍微修改一下InsertInsertInsert和DeleteDeleteDelete即可。对于InsertInsertInsert和DeleteDeleteDelete的话,我们只需要先减去原来的Cnt[X]2Cnt[X]2Cnt[X]^2,然后进行相应的Cnt[X]Cnt[X]Cnt[X]修改,最后在加上Cnt[X]2Cnt[X...

2018-07-22 16:52:47 177

原创 BZOJ P2120 数颜色【带修莫队板子】

没错莫队就是这么强!#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define SG string#define DB doubleusing namespace std;const ...

2018-07-21 15:43:26 201

原创 BZOJ P2038 [2009国家集训队] 小Z的袜子【莫队】

首先让我们考虑一下答案的表达式。设当前的询问区间为[Left,Right][Left,Right][Left,Right],且在当前区间中第iii种袜子有Num[i]Num[i]Num[i]支,那么Ans=C2Num[1]+C2Num[2]+C2Num[3]+...C2Right+1−LeftAns=CNum[1]2+CNum[2]2+CNum[3]+...2CRight+1−Left2Ans...

2018-07-21 14:08:02 150

原创 NKOJ P2387 「NOIP模拟」 赏花【莫队板子】

这道题在没学莫队之前用树状数组和线段树写了好久…然而莫队直接秒杀树状数组线段树做法…参考代码:#include <cmath>#include <cstdio>#include <cstring>#include <iostre

2018-07-21 10:49:16 268

原创 NKOJ P2386 「NOIP模拟」 排队【线段树】【单调栈】

题目描述 一个队伍中站在最前面的人是最矮的,并且站在最后面的人是最高的,那么这个队伍是和谐的。 现在NN N个人站成一队,第iii个人身高为hihih_i,对于队伍中的一个区间[L,R][L,R][L,R],如果第LL L 个人的高度小于[L+1,R][L+1,R][L+1,R]所有人的高度,并 且第RRR个人的高度大于[L,R−1][L,R−1][L,R−1]所有人的高度,那么[L...

2018-07-21 03:44:52 316

原创 贪心—最大区间不相交问题 (加强版)

弱版:https://blog.csdn.net/yanzhenhuai/article/details/81111598让我们继续来思考这样的一个问题 : 给出n条区间的起点和终点(输入保证所有区间都是起点<终点),每一局可以选出若干个之前没有选出的区间,这些区间满足两两无交集(可以某区间的终点与另一区间的起点相同)。 问最少多少局可以选出所有的区间。...

2018-07-20 01:08:55 995

原创 贪心—最大区间不相交问题

思考一个这样的问题: 给出nnn条区间的起点和终点(输入保证所有区间都是起点<终点),问最多可以选出多少个区间使得这些区间两两无交集(可以某区间的终点与另一区间的起点相同)。由于这是贪心的一个经典模型所以直接讲解法不再赘述其他东西。 我们先将这nnn个区间按照终点(边界的右端点)从小到大排序。 假设EndEndEnd为当前已经覆盖的终点(初始化End=−1End=...

2018-07-19 10:56:29 739

原创 51Nod 最高的奖励【贪心】【优先队列】(已更正错误)

有NNN个任务,每个任务有一个最晚结束时间以及一个对应的奖励。在结束时间之前完成该任务,就可以获得对应的奖励。完成每一个任务所需的时间都是111个单位时间。有时候完成所有任务是不可能的,因为时间上可能会有冲突,这需要你来取舍。求能够获得的最高奖励。这道题也是一道比较简单的贪心了。因为要贪心嘛,所以一共有NNN天,那么我们就要考虑最后完成NNN个任务。既然想到了这一点,那么我们怎...

2018-07-19 03:33:52 355

原创 BZOJ P1691 [Usaco2007 Dec] 挑剔的美食家 【贪心】【set】

这道题呢其实就一个十分普通的贪心,至于怎么实现就有很多种方法,由于用平衡树的人比较多,所以我在这里简单讲一下用#multiset#的做法。简单谈一下心:我们可以分别将牛和草分别按照价格为第一关键字排序,然后我们在保证牛的价格小于等于当前草的价格的前提下,把牛要求的鲜嫩程度放在集合当中(集合是有序的),然后我们对于每一种草,我们只需要找到小于等于草的价格中牛需要的价格最大的,然后删除即可。注...

2018-07-19 03:07:42 252

原创 51Nod 字符串连接【贪心】

输入nnn个字符串s[i]s[i]s[i],你要把他们按某个顺序连接起来,使得字典序最小。 (1<=n<=1001<=n<=1001 <=100<=100 S1+S2S1+S2S_1+S_2与S2+S1S2+S1S_2+S_1的大小即可。参考代码:#include <cmath>#include <vector>...

2018-07-19 02:48:01 289

原创 51Nod 排队接水【贪心】

nnn个人一起排队接水,第iii个人需要b[i]b[i]b[i]的时间来接水。 1<=n<=10001<=n<=10001 0<=b[i]<=10000<=b[i]<=10000

2018-07-19 02:25:29 1527

原创 「NOIP模拟」 机智的AmyZhi 【模拟】

那年一个雨季,AmyZhiAmyZhiAmyZhi 在校门外弯身买参考书。 这时SiriusRenSiriusRen SiriusRen 走过来,一言不合甩给她一道“自认为”很难的题: 给你一个数字NN N(NNN的范围是1−10000001−1000000 1- 1000000),求一个最小的正整数MM M,这个数字MM M的各个位的数字加上它本身之和恰好为NNN...

2018-07-18 15:39:05 290

原创 LOJ #104 BZOJ P3224 普通平衡树【Splay板子】

嗯没错就是一个平衡树的板子,然而就是这个板子我调了一下午没有调出来最后还是麻烦了CJQ大佬花了一晚上帮我调试。感谢!参考代码:#include <cmath>#include <cstdio>#include <cstring>#include <iostream&a

2018-07-18 01:44:30 244

原创 BZOJ P2947 「POI2000」促销【multiset】

题目描述 Great BytelandishGreat BytelandishGreat\ Bytelandish的超级市场网络请你编写一个程序模拟促销商品的成本费用推销商品要遵守以下规则: 1. 想参与促销的顾客在自己的帐单上写下个人信息,然后将票据投入一个特制的投票箱中。 2. 促销期间,每天结束后,有222张票据将被取出——消费金额最大的和最小的两张帐...

2018-07-17 22:33:38 200

原创 LOJ #2500「NOIP2014」飞扬的小鸟【背包DP】

好吧我也是一个智障了最开始完全没有思路重新读题发现题目读漏了一个条件:每个单位时间可以点击多次屏幕,也就意味着你可以从(x,y)(x,y)(x,y)跳到多个(x+1,yi)(x+1,yi)(x+1,y_i),那么不就是背包了么。DP(I,J)DP(I,J)DP(I,J)表示跳到坐标(I,J)(I,J)(I,J)的最少步数,对于iii,我们可以先假设iii处没有障碍,那么背包处理所有点,然后再把...

2018-07-17 12:54:39 215

原创 AtCoder Grand Contest 026 A - Colorful Slimes 2【模拟】【并查集】【map】

ProblemStatementProblemStatementProblem Statement Takahashi lives in another world. There are slimes (creatures) of 100001000010000 colors in this world. Let us call these colors Color 1,2,…,10000...

2018-07-17 10:29:55 359

原创 LOJ #2612「NOIP2013」花匠【动态规划】

这道题LOJLOJLOJ上加强了数据范围然呢并没有什么用。DP[I][0]DP[I][0]DP[I][0]表示前III株可以留下的最大的株数,其中J<I,H[J]>H[I]J<I,H[J]>H[I]JH[I]; DP[I][1]DP[I][1]DP[I][1]表示前III株可以留下的最大的株数,其中J<I,H[J]<H[I]J<I,H[J]&

2018-07-16 20:03:35 234

原创 NKOJ P1922 第K小数【Splay】

题目描述 现在已有NNN个整数,你有以下三种操作(相同的数视为一个数): 1.A1.A1.A表示加入一个值为AAA的整数 2.B2.B2.B表示删除其中值为BBB的整数 3.K3.K3.K表示输出这些整数中第KKK小的数输入格式 第一行,两个整数N,MN,MN,M,表示最开始有NNN个整数,总共有MMM个操作 第二行用空格隔开的NNN个整数 接下...

2018-07-16 16:41:53 264

原创 LOJ #10143 BZOJ P1588「HNOI2002」营业额统计【Splay】【已更新错误】

这道题呢就是一道经典的平衡树板题。这道题的过程就是插入一个数旋转至根节点,然后查询根节点的前驱后继与它本身做差取最小即可。参考代码:#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <a

2018-07-16 13:45:37 241 1

原创 NKOJ P4969 抗议 【离散化】【树状数组优化动态规划】

题目描述 约翰家的NNN头奶牛正在排队游行抗议。一些奶牛情绪激动,约翰测算下来,排在第iii位的奶牛的理智度为AiAiA_i,数字可正可负。 约翰希望奶牛在抗议时保持理性,为此,他打算将这条队伍分割成几个小组,每个抗议小组的理智度之和必须大于或等于零。奶牛的队伍已经固定了前后顺序,所以不能交换它们的位置,所以分在一个小组里的奶牛必须是连续位置的。除此之外,分组多少组,每组分多少奶牛,...

2018-07-16 11:01:34 214

原创 [COCI 2010/2011 CONTEST #1-4] 糖果【贪心】

问题描述 幼儿园的小孩们收到了一个有MMM颗糖果的大包裹,现在要把这些糖果分给NNN个小孩。 每一个小孩都给出了一个期望的糖果数,如果没有达到他的期望值a[i],a[i],a[i],小孩就会生气。每差一个糖果,小孩的生气指数就会增加。他生气的程度等于他少得到的糖果数的平方。比如,MirkoMirkoMirko想要得到323232个糖果,但是只得到了292929个。他少了333个,所以他的生...

2018-07-15 21:44:47 622

原创 BZOJ P3892 [Usaco2014 Dec] Marathon【动态规划】

这道题呢当时做的时候确实没有想到其他做法只想到了暴力动态规划,但是评测的时候居然AAA了就十分惊讶。其实做完这道题之后想一想为什么暴力这么高的时间复杂度可以AAA掉,我们平时在计算时间复杂度的时候都是从最坏情况的角度考虑而往往忽略了实际当中的时间复杂度,显然这道题的暴力方程的最坏时间复杂度十分大的,但是它的常数其实远远小于111,这就是为什么我们的暴力动态规划可以AAA掉这道题的原因了。参考代...

2018-07-15 21:37:51 297

原创 BZOJ P3891 Piggy Back【遍历图】

这道题十分水是对的,但是我不得不说这道题用spfa或者dij还吹嘘自己的可能真的是垃圾了。哪里需要用最短路算法?直接从1,2,N1,2,N1,2,N三个端点分别出发用BFSBFSBFS遍历一遍图就可以了,最后枚举每个端点取最小。参考代码:#include <queue>#include <cmath>#include <cstdio>#in...

2018-07-15 21:32:33 227

原创 NKOJ P3875「NOIP模拟」 汉诺塔+ 【递推】

题目描述 小易最近对汉诺塔感兴趣。汉罗塔游戏里有三根柱子,nnn个盘子,盘子可以串到柱子上,但是大盘子不能放到小盘子的上面。每一步可以把一根柱子顶部的盘子移动到另一个柱子的顶部。 小易想知道如果第iii小的圆盘在第a[i]a[i]a[i]根柱子上,最少需要移动多少步才能把它们全部移到第333根柱子上。输入格式 第一行一个整数nnn表示圆盘个数。 第二行nnn个整数...

2018-07-13 22:37:59 257

原创 关于7.13上午测试的总结

又是一场完全爆炸的考试……第一题:https://blog.csdn.net/yanzhenhuai/article/details/81031448 当时做的时候读完题就直接想到贪心,写完代码之后自己也写了几组数据发现没什么问题就没有管这道题了,但是测试过程中才知道贪心是有问题的…..考试的时候没有去想其他的方法除了感觉这道题贪心十分显然之外,还有就是和Phoenix一样的心态,第一道题签...

2018-07-13 15:29:16 214

空空如也

空空如也

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

TA关注的人

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