自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dance in th dark的博客

真正不羁的灵魂不会真的去计较什么,因为他们的内心深处有国王般的骄傲

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

原创 【JZOJ5336】【NOIP2017提高A组模拟8.24】提米树

DescriptionData ConstraintSolution我们可以用dp解决。设dp[i]表示前i个节点的最优值。我们发现一对节点(x,y)(x的dfs序小于y的dfs序)可以形成相邻叶子当且仅当x处于其lca的儿子u的右链上,y处于lca的儿子v的左链上,且u,v相邻u在v的左方。我们将每一条右链存下,对于每个节点查找其对应右链的答案。这样是O(N^2)的。 我们发现没一个左链上的点顺

2017-08-24 21:46:44 661 1

原创 【JZOJ5335】【NOIP2017提高A组模拟8.24】早苗

DescriptionData ConstraintSolution考场上想错了方向,于是呵呵…… 我们设dp[i][j]表示当前到第i天,前面连续j天(包括i)都刮不同的风。那么转移显然1、第i+1天刮新的风,那么f[i+1][j+1]+=f[i][j]*(m-j),2、第i+1天刮与j天里某一天相同的风,我们设为k,那么k+1~i+1右形成一个新的不出现重复的时间段。f[i+1][k]+=f[

2017-08-24 21:33:17 587

原创 【JZOJ5317】【清华集训2017模拟8.19】func

DescriptionData ConstraintSolution根据性质我们可以发现,对于一个f(x),f(x-1),若x为奇数,那么f(x)=f(x/2+1)+f(x/2),f(x-1)=f(x/2),若x为偶数,那么f(x)=f(x/2),f(x-1)=f(x/2)+f(x/2-1)。而且转移出来的数仍相邻,这也意味着里面有一个奇数有一个偶数。因为就对奇数满足f(x)=f(x-1)+f(x+

2017-08-24 08:00:05 428

原创 【JZOJ5332】【NOIP2017提高A组模拟8.23】密码

DescriptionData ConstraintSolution考场上没想到挺可惜的,明明以前做过两次的~ 我们将正整数放到一个AC自动机上跑。做一个数位dp,设f[i][j][k][0..1]表示当前到第i位,在自动机上节点j包含k个秘钥,前i位是否与上界相同的方案。我们每次枚举下一位放的数字,看一下AC自动机会跳至哪里转移一下。复杂度O(S*s*k*10)。Code#include<ios

2017-08-23 22:50:27 388

原创 【JZOJ5330】【NOIP2017提高A组模拟8.22】密码【51nod1569】二项式系数的个数

DescriptionData ConstraintSolution首先有个库默尔定理:设m,n为正整数,p为素数,则Cmm+nC_{m+n}^{m}含p的幂次等于m+n在p进制下的进位次数。 于是我们就很好办了,显然当k大于n在p进制下的位数答案为0。我们只要满足(l-s)+s的进位次数大于等于k即可。我们将n转化为p进制下。设f[i][j][k][0..1][0..1]位当前dp到p进制第i位

2017-08-23 22:44:17 849

原创 【JZOJ5329】【NOIP2017提高A组模拟8.22】时间机器

DescriptionData ConstraintSolution这道题看着网络流能过,实际上直接贪心就好。我们将电阻和节点分别按左端点排序,枚举节点,维护一个指针将电阻按右端点加入set,对于一个节点,我们肯定要找右端点不小于节点右端点的且尽量靠左的电阻来满足。按照这个贪心思路来搞即可。Code#include<iostream>#include<cmath>#include<cstring

2017-08-23 22:34:46 409

原创 【JZOJ5328】【NOIP2017提高A组模拟8.22】世界线

DescriptionData ConstraintSolution这题用bitset就能过,直接O(N232N^2\over32)草过。但由于空间会爆炸,我们可以每10000位做一次。Code#include<iostream>#include<cmath>#include<cstring>#include<cstdio>#include<algorithm>#include<set>

2017-08-23 22:27:00 376

原创 【JZOJ5324】【GDOI2017模拟8.21】麻将堆

DescriptionData ConstraintSolution看到这种题就知道是凸包啦。 我们分别将第一层和第二层的麻将按x轴排序。枚举第二层麻将,动态将麻将的y坐标加入set,每次在set内查询满足y坐标的点,并将相交的区域的四个顶点加入数组。可以证明最后与一个矩形相交的矩形的顶点最多只有16个。我们将16个点按极角排序后做一遍凸包,判断第二层的重心是否在凸包内即可。时间复杂度O(Nlog

2017-08-23 22:23:07 496

原创 【JZOJ5316】【清华集训2017模拟8.19】merge

DescriptionData ConstraintSolution我们考虑最简单的dp,我们设dp[i][j]表示p到i,q到j的不同方案。那么转移也显然dp[i][j]=dp[i-1][j]+dp[i][j-1]。但这样会算重。所以我们考虑在什么情况下计算会重复。我们发现当p的i-k~i,与q的j-k~j相等时,我们就会算重,因此我们要保证p的标点时刻在j前方,这就成了括号序,又因为我们要保证要

2017-08-23 22:15:38 296

原创 【JZOJ5307】【NOIP2017提高A组模拟8.18】偷窃

DescriptionData ConstraintSolution在考场上理解错题意,竟然还有85分!!!上帝保佑 真正的题意是可以移动一个金砖到另一堆上。 我们考虑求每一行每一列的最大值,若有一行一列满足最大值相同且交点的金砖数量不为空的话,那么显然是可以通过然交点为该值从而同时满足行与列的要求。因此我们先将所有行与列的最大值相加,若有一行一列满足最大值相同且交点的金砖数量不为空的话,那么该

2017-08-23 22:04:25 261

原创 【JZOJ5296】【清华集训2017模拟】Sequence

DescriptionData ConstraintSolution对于S和S’,我们可以用主席树很轻松的求出,但不能求出二关键字的k大。所以我们考虑整体二分。我们可以求出排名在[x,y]内的元素的范围[a,b]。对于一个范围[l,r]设满足排名k在该区间的询问[x,y],我们二分出mid,对于一个询问,若满足区间[l,r]内第一关键字在[a,b]且满足第二关键字小于mid的数量少于k,则答案一定在

2017-08-23 21:54:47 375

原创 【JZOJ5295】【清华集训2017模拟】Create

DescriptionData ConstraintSolution这道题很经典。 我们发现一次操作最多使序列多出1段新的连续序列。所以我们考虑维护这个序列。我们将询问按x大小排序后建一棵主席树,那么对于一个修改(l,r,v),我们可以算出修改后(l,r)对答案的贡献。现在问题是怎样取消修改前的贡献。我们用线段树维护每一段连续的颜色的起点和终点。每一次修改暴力跳一下每个颜色段,查询他们原来的贡献。

2017-08-23 07:52:57 453

原创 【JZOJ5287】【NOIP2017提高A组模拟8.16】最短路

DescriptionData ConstraintSolution我被坑了,他的环是指一个边双联通分量…… 我们若处理出起点到每个点的最短距离d,那么若询问x,y的lca不在一个环上,那么答案显然是d[x]+d[y]-2*d[lca],那么若lca在环上呢?我们处理出起点到每个点的在dfs树上的距离deep[x]和每个边双的长度len,那么显然环上两个点x,y的最小距离即min(|deep[x]

2017-08-22 22:53:04 341

原创 【JZOJ5272】【GDOI2018模拟8.14】神奇的重复序列

DescriptionData ConstraintSolution我们发现当两个起点i,j(iCode#include<iostream>#include<cmath>#include<cstring>#include<cstdio>#include<algorithm>using namespace std;const int maxn=3e3+5;int bz[maxn][200

2017-08-22 22:23:17 289

原创 【JZO5271】【GDOI2018模拟8.14】神奇的救火现场

DescriptionData ConstraintSolution这和以前的jzoj上一道叫保持平衡的题很像啊。当然也有线性的做法,但我们这里只讲一下NlogN的做法。 我们维护两个小根堆分别为水栓和车的供给代价。每遇到一辆车,若水栓不为空,我们从水栓的堆中取出最小的代价x与其坐标相加后加入答案,并将坐标取反-代价加入车堆,若水栓为空,我们则将代价设为+∞重复刚才操作,表示以后若有水栓优先供应给

2017-08-21 22:54:39 370

原创 【JZOJ5270】【GDOI2018模拟8.14】神奇的矩阵

DescriptionData Constraint Solution考场上打了个O(N^3logN)的做法,以为可以水70分,结果出题人非常尽职将其卡至50…… 我们考虑若将数从大到小加入,那么每个点的贡献即当前矩形内的点的权值和-该数*矩形内的数的数量。若每个点(i,j)表示一个以(i,j)为左上角的k*k正方形的话,那么当前数(i,j)加入后影响的将会是一个左上角(i-k+1,j-k+1)

2017-08-21 07:15:41 369

原创 【JZOJ5262】【GDOI2018模拟8.12】树

DescriptionData ConstraintSolution我们发现两个显而易见(一点都不显然好吗)的结论: 1、是否优先不论,我们发现一条u->v的路径可以拆分成u->lca,lca->v两条路径,反之也成立。 2、a->b和c->d等价于a->d和c->b 于是我们得到推论:一个点要么作为起点要么作为终点。(吼啊啊啊) 那么我们就可以很开心的做dp了,由于叶子节点必须靠父亲边才能

2017-08-20 22:49:39 353

原创 【JZOJ5260】【GDOI2018模拟8.12】区间第k小

DescriptionData ConstraintSolution我们先考虑离线做法。显然是莫队+数据结构。但我们发现莫队是插入NN−−√N\sqrt N次查询n次,那么用线段树维护十分不划算,所以我们考虑提高查询复杂度而降低插入复杂度。于是我们想到了分块。我们对数值分为根号块,维护块内每个数出现次数和答案。那么单次插入O(1),单次查询O(N−−√\sqrt N),总时间复杂度O(NN−−√N\

2017-08-20 22:32:30 462

原创 【JZOJ5250】【GDOI2018模拟8.11】质数

DescriptionData ConstraintSolution我们发现2f(n)2^{f(n)}就等于∑i|n[gcd(i,n/i)==1]\sum_{i|n}[gcd(i,n/i)==1] 所以题目就是求:∑i=1n∑j|i[gcd(j,i/j)==1]\sum_{i=1}^{n}\sum_{j|i}[gcd(j,i/j)==1]=∑j=1n∑i=1⌊n/j⌋[gcd(i,j)==1]=\

2017-08-20 22:14:30 357

原创 【JZOJ5249】【NOIP2017提高A组模拟8.10】文本编辑器

DescriptionData ConstraintSolution我们考虑用双向链表维护这个序列。但问题是怎样处理序列翻转的问题。我们考虑维护多一个反向序列,所有操作同时在两个序列上进行,只是将方向反转。当遇到一个翻转操作时我们就交换两个序列。时间复杂度O(N)。Code#include<iostream>#include<cmath>#include<cstring>#include<cs

2017-08-20 21:52:23 331

原创 【JZOJ5246】【NOIP2017模拟8.8A组】Trip

Description多年之后,worldwideD厌倦竞争,隐居山林。 他的家乡开始发展起了旅游业,在一条很长的主干道上,有N个旅游景点,按顺序编号为1到N。根据游客们网上的评分,第i个景点有一个评估值a[i],为了区分开不同的景点,评估值是两两不同的。 今天有M组游客前来旅游,第i组游客选择遍历景点Li到景点Ri这一段路。他们搜到Li到Ri的所有评估值,如果对于景点j(Li≤j≤Ri),不存

2017-08-09 11:02:36 362

原创 【JZOJ5244】【NOIP2017模拟8.8A组】Daydreamin

DescriptionworldwideD最近有午睡的习惯~ 某日中午,他做了一个梦:梦见有一个怪人,她去一个岛上住N+1天(编号为0到N)。这是在大洋中的岛,每天要么是晴天,要么刮台风。 她到达岛的第0天是晴天(这样她才能上岸)。然后对于第i天,假如是晴天,那么有P(0Data Constraint30%:N≤20 50%:N≤2,000 100%:1≤M≤N≤1,000,000 1≤A

2017-08-09 10:54:07 388

原创 【JZOJ5239】【GDOI2018模拟8.7】图的异或

DescriptionData ConstraintSolution这道题要用线性基来做,看到一个博客讲线性基感觉挺好[学习笔记]线性基 线性基的目的就是用log个数的任意异或起来的集合表示一堆数任意异或起来的集合。 对于这道题,我们跑一个s出发的dfs树,然后对于每一条返租边或自环,我们将他们放进一个集合,他们任意异或后的值异或上s到t的异或值的和就是答案。 我们求出线性基和s到t的异或值d

2017-08-09 10:50:34 354

原创 【JZOJ5238】【GDOI2018模拟8.7】的士碰撞

Descriptionn辆车在一条数轴上,车的编号为1到n。编号为i的车坐标为a[i],初始方向为dir[i](左或右),初始位置两两不同。每辆车每个时刻行走距离为1。两辆车相碰时,会调转方向,继续行走,掉头不消耗时间。现在车子开始朝其方向行驶,同一个坐标允许有多辆车。现在有q个询问,给出 t,i,询问过了t时刻后,编号为i的车的坐标的绝对值。Data ConstraintSolution考场上理解

2017-08-09 10:37:17 446

原创 【JZOJ5237】【GDOI2018模拟8.7】最长公共子序列

DescriptionData Constraint对于20%的数据,n,m<=10 对于40%的数据,n,m<=20 对于60%的数据,n,m<=100 对于80%的数据,n,m<=1000 对应100%的数据,n,m<=5000,保证序列只包含小写字母。Solution这道题和之前做的一道题好像啊,然后就往那个方向去想,搞了1个半小时,最后才发现这道题是弱化版,根本不需要之前的做法。

2017-08-09 10:31:02 464

原创 【JZOJ3773】【NOI2015模拟8.15】小 P 的烦恼

Description小 P 最近遇上了大麻烦,他的高等代数挂科了。于是他只好找高代老师求情。善良的高代老师答应不挂他,但是要求小 P 帮助他一起解决一个难题。 问题是这样的,高代老师近期要组织班上同学一起去漂流,漂流可以看做是在一张 n 个点 m 条边的有向无环图上进行的,点编号从 0 到 n-1 ,表示景点; 边是连接各景点的一定长度的河道。同时,定义编号为 s 是起点而 t 是终点。我们不妨

2017-08-09 10:23:11 321

原创 【JZOJ3771】【NOI2015模拟8.15】小 Z 的烦恼

Description小 Z 最近遇上了大麻烦,他的数学分析挂科了。于是他只好找数分老师求情。 善良的数分老师答应不挂他,但是要求小 Z 帮助他一起解决一个难题问题是这样的,现在有 n 个标号为 1~n 的球和 m 个盒子,每个球都可以放进且只能放进一个盒子里面,但是要满足如下的规则: 1. 若把标号为 i 的球放进了第 j 个盒子,那么标号为 2*i 的球一定要在第 j+1 个盒子里面(若

2017-08-09 10:15:09 464

原创 【JZOJ5233】【GDOI模拟8.5】概率博弈

Description小A和小B在玩游戏。这个游戏是这样的: 有一棵n个点的以1为根的有根树,叶子有权值。假设有m个叶子,那么树上每个叶子的权值序列就是一个1->m 的排列。 一开始在1号点有一颗棋子。两人轮流将这颗棋子移向其当前位置的一个儿子。假如棋子到达叶子,游戏结束,最终获得的权值为所在叶子对应权值。 小A希望最后的权值尽量大,小B希望尽量小。小A是先手。 在玩了很多局游戏后,小B对其

2017-08-09 10:04:38 462

原创 【JZOJ5232】【NOIP2017模拟A组模拟8.5】带权排序

DescriptionData Constraint对于20%的数据,n<=6,0<=li<=ri<=15 对于40%的数据,n<=10,0<=li<=ri<=20

2017-08-09 09:54:17 417

原创 【JZOJ5231】【NOIP2017模拟A组模拟8.5】序列问题

DescriptionData Constraint对于30%的数据,n<=5000 对于60%的数据,n<=50000 对于100%的数据,n<=500000,0<=A[i]<=10^9Solution这道题有很多种解法,我这里主要讲讲分治和线段树两种解法。 分治:我们对于每一次二分出来的mid,我们考虑4种情况:最大值最小值在同一边且跨过mid(左右),最大值最小值不在同一边且跨过mid(

2017-08-09 09:44:11 562

空空如也

空空如也

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

TA关注的人

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