自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

GH的博客

一个菜鸡的事故记录

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

原创 自我剖析

调整状态为准备中考,停训快一个月……训练的状态还没恢复的以前的水平。 停训对训练状态影响很大,各种知识点的熟练程度,对题目解法的思考速度,代码准确率都有所下滑。刚刚结束中考,心态需要重新调整。 多做题找回以前做题的状态,调整好自己的心态,认真对待接下来的训练。知识点停训后对各种知识点的熟练程度有所下滑,可以通过题目来巩固。 以前的训练中也遗留下了不少问题,许多知识点还未掌握,...

2018-06-25 18:50:41 318

原创 待办

树链剖分link cut tree拓展欧几里得莫比乌斯反演后缀数组AC自动机

2018-01-26 20:09:11 740

原创 jzoj 5917.【NOIP2018模拟10.20】moon(矩阵乘法+概率dp)

Description作为申国的学者,你需要严格遵守三大基本原则:战争即和平自由即奴役无知即力量你正在对一本书进行审核,其中片段写道:“少焉,月出于东山之上,徘徊于斗牛之间。白露横江,水光接天。纵一苇之所如,凌万顷之茫然。浩浩乎如冯虚御风,而不知其所止;飘飘乎如遗世独立,羽化而登仙。”这种行为明显不符合三大原则,比如“纵一苇之所如”中自由的意思已经在新话中杯删除了。但是你在修改的同...

2018-10-21 22:33:59 294

原创 jzoj 5916. 【NOIP2018模拟10.20】flow

Description你是申国的一个地方长官,你手下有n个城市。为了加强基础设施建设,在2020全面建成小康社会,统筹推进经济建设、政治建设、文化建设、社会建设、生态文明建设,坚定实施科教兴国战略、人才强国战略、创新驱动发展战略、乡村振兴战略、区域协调发展战略、可持续发展战略、军民融合发展战略,突出抓重点、补短板、强弱项,特别是要坚决打好防范化解重大风险、精准脱贫、污染防治的攻坚战,使全面建成...

2018-10-21 10:24:11 257

原创 树链剖分

什么是树链剖分

2018-10-17 14:20:26 220

原创 jzoj 5908. 【NOIP2018模拟10.16】开荒(树链剖分)

Description题目背景:尊者神高达作为一个萌新,在升级路上死亡无数次后被一只大黄叽带回了师门。他加入师门后发现有无穷无尽的师兄弟姐妹,这几天新副本开了,尊者神高达的师门作为一个 pve师门,于是他们决定组织一起去开荒。题目描述:师门可以看做以 1 为根的一棵树,师门中的每一个人都有一定的装备分数。一共会有 q 个事件。每个事件可能是一次开荒,也可能是因为开荒出了好装备而导致一个人的...

2018-10-17 11:06:45 427

原创 jzoj 3909. 【NOIP2014模拟11.1A组】Idiot 的乘幂(exgcd)

DescriptionInput第一行一个正整数t,表示测试数据组数。 接下来t 行,每行五个正整数a、b、c、d、p,表示一组测试数据。Output一共t 行,第i 行表示第i 组测试数据的答案。若该组测试数据无解,则输出No Solution!,否则输出一个正整数x(1 <= x < p),表示同余方程组的解。Sample Input10 ...

2018-08-17 21:36:32 409

原创 c++中set的用法

关于STLC++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作。vector封装数组,list封装了链表,map和set封装了二叉树等,在封装这些数据结构的时候,STL按照程序员的使用习惯,以成员函数方式提供的常用操作,如:插入、排序、删除、查找等。让用户在S...

2018-08-17 20:57:11 1176

原创 jzoj 5821. 【NOIP提高A组模拟2018.8.16】 手机信号(set)

DescriptionInput第一行由一个空格隔开的两个正整数 m, c,意义见题目描述。 接下来 m 行,每行可能有以下形式: construct l r v 代表发生了第一种事件; destruct l r 代表发生了第二种事件; query x 代表发生了第三种事件。Output对于每个 query 操作,请输出一行一个整数代表此时坐标 x 处的信号强度...

2018-08-17 20:30:00 429

原创 jzoj 5814. 【NOIP提高A组模拟2018.8.14】 树(期望)

Description梦游中的你来到了一棵 N 个节点的树上. 你一共做了 Q 个梦, 每个梦需要你从点 u 走到 点 v 之后才能苏醒, 由于你正在梦游, 所以每到一个节点后,你会在它连出去的边中等概率地 选择一条走过去, 为了确保第二天能够准时到校, 你要求出每个梦期望经过多少条边才能苏 醒. 为了避免精度误差, 你要输出答案模10^9 + 7的结果.Input第一行两个整...

2018-08-14 21:36:24 268

原创 jzoj 5782. 【NOIP提高A组模拟2018.8.8】 城市猎人(lca+想法)

Description有n个城市,标号为1到n,修建道路花费m天,第i天时,若gcd(a,b)=m-i+1,则标号为a的城市和标号为b的城市会建好一条直接相连的道路,有多次询问,每次询问某两座城市最早什么时候能连通。Input第一行输入三个正整数n,m,q,其中q表示询问个数。 接下来q行,每行两个正整数x,y,表示询问城市x和城市y最早什么时候连通。Output...

2018-08-08 20:41:14 398

原创 jzoj 1158. 荒岛野人(扩展欧几里得)

Description克里特岛以野人群居而著称。岛上有排列成环行的M个山洞。这些山洞顺时针编号为1,2,…,M。岛上住着N个野人,一开始依次住在山洞C1,C2,…,CN中,以后每年,第i个野人会沿顺时针向前走Pi个洞住下来。每个野人i有一个寿命值Li,即生存的年数。下面四幅图描述了一个有6个山洞,住有三个野人的岛上前四年的情况。三个野人初始的洞穴编号依次为1,2,3;每年要走过的洞穴数依次为3...

2018-07-10 07:56:27 320

原创 {模板}AC Automaton

hdu2222code#include <cstdio>#include <cstring>#include <algorithm>#include <queue>using namespace std;const int N=1e6+10,M=1e6+10;queue<int> d;char s[N];int...

2018-07-02 15:14:34 227

原创 洛谷P2414 jzoj 2784.【NOI2011】阿狸的打字机(AC自动机)

Description:阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机。打字机上只有28个按键,分别印有 26个小写英文字母和’B’、’P’两个字母。 经阿狸研究发现,这个打字机是这样工作的: 输入小写字母,打字机的一个凹槽中会加入这个字母(按 P 前凹槽中至少有一个字母)。 按一下印有’B’的按键,打字机凹槽中最后一个字母会消失。 按一下印有’P’的按键,打字机会在纸...

2018-07-02 11:46:03 211

原创 AC自动机学习小记

前置技能TireKMP算法算法简介AC自动机,Aho-Corasick automaton,该算法在1975年产生于贝尔实验室,是著名的多模匹配算法。分析:其实AC自动机就是tire加上KMP。 一个简单的问题(hdu2222):给出多个模式串,在给出一个文本串,问模式串在文本串中出现了多少次。 最简单的做法就是将模式串加入的tire中,在用文本串逐位去匹配。...

2018-06-28 17:20:30 239

原创 扩展欧几里得及其应用

欧几里得算法 欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理:gcd(a,b)=gcd(a,a mod b) gcd函数就是用来求(a,b)的最大公约数的。证明gcd(a,b)=gcd(a,a mod b)设d为a,b的公约数,则有d|a,d|bd|a,d|bd|a,d|b 设r=amodb=a−⌊ab⌋br=amodb=a...

2018-01-29 21:38:38 884

原创 NOIP2017翻车记

第一次提高组……day0:晚上20:00到了酒店,外观看上去一般。 房间还不错。 洗手间和浴室的门单刀双掷,设计者也真是…… WIFI真心慢,没法吃鸡,腐败体验- -。 尝试了各种方法来加快网速,最后还是放弃了…… ffy&lsy用4G吃鸡,666。 腐一波单机后睡觉。day1:听说酒店订满了,怕没早餐吃,早上六点就起床了。 早餐好评。 到了二中找不到考场,转了一圈才发现考场在三楼。

2017-11-15 19:01:22 400

原创 浅谈splay

例题: 给出一个长度为n序列a。 有m次操作,每次操作可以修改a[i],在第i个数前插入一个数x,或查询区间[l,r]的最大值。 1≤n≤100000,1≤m≤100000。 强制在线看到这道题最自然的反应就是用线段树,但有了插入操作线段树就不好处理了,需要离线才能做。而题目又要求强制在线,我们就只能使用splay了什么是splay?spl

2017-08-28 18:46:52 4679

原创 2017.08.18【NOIP2017提高组A组】模拟赛

5+0+30=35 再次翻车……第一题:看到题以后不会做,懵逼了几分钟后才想出了方法。 将环缩成一个点,原图就变成了一棵树。询问的时候找到x,y的lca,统计路径上环的数量,输出即可。 码了2500bytes,加上调试的时间快一个多小时。不想打拍,只出了几个小数据。 人要有梦想,万一实现了呢? 于是,5分。 把code再看了一遍,发现long long读入

2017-08-18 21:19:55 367

原创 2017.08.08【NOIP提高组】模拟赛B组

好久没有写过博客了……今天的比赛翻车比赛结束后我才发现我还没交题第一题:签到题,搜索。题目难度不大,但题面有毒。在题目描述中我们看到的是: 那么应该按照怎样的顺序在这N个点上放置油滴,才能使放置完毕后所有油滴占据的总体积最大呢?而在输出中: 一行,一个整数,长方体盒子剩余的最小空间(结果四舍五入输出)。还我100分……第二题:DP,比赛正解。第三题:比赛就想到了二分+DP,因为一直在打第

2017-08-08 21:38:03 293

原创 2017.04.15【NOIP2017提高组】模拟赛B组

第一题:一开始理解错题意。弄懂题意后发现是一道水题。 题目要求字典序最大,也就是说左子树的根节点要尽量大,贪心乱搞。 这一题难度不大,但是花了不少时间。第二题:刚看到题目没有什么思路…… 懵逼了几分钟后发现,可以将连通块缩成一个点,再跑一遍BFS。时间复杂度o(2n2)o(2n^2) 本来觉得可以切掉,但是只有60分。重复的边太多,存不下。打了一个hash判重,AC。第三题:输入都不想打,完

2017-04-17 19:27:39 499

原创 2017.3.25【NOIP提高组】模拟赛B组 总结

这一次的比赛再次翻车……

2017-03-27 20:36:25 376

转载 常用算法复杂度

找了好久,求顶!

2017-01-17 15:24:41 492

原创 临洮巨人

题目描述: 输入: 一行一个由大写字母A到L组成的字符串S。 ABACABA输出: 2 样例解释:BAC和CAB数据范围: 对于30%的数据,|S| 对于70%的数据,|S| 对于100%的数据,1分析:70%: 用a[i],b[i],c[i]分别表示在第i个位置,a、b、c分别出现了多少次。 枚举一个区间

2016-12-22 21:48:46 470

原创 2016.12.03【初中部 NOIP提高C组】模拟赛

又翻车了…… 估分:100+100+100+10=290 实际得分:100+0+80+20=200第一题:由暴力得,只有2的整次幂才是合法的。第二题:刚看到题,一眼不会…… 突然发现,排序然后相邻的相减,去前k小的不就行了。水题,切了! 结果…… 为什么全都输出了0!?下载一个数据本地跑,答案对了……错误至今未明。 c++还我100。第三题:将x分解质因数,长度就是质因数的个数,种数就是

2016-12-10 16:43:53 320

原创 【NOIP2016】普及组魔法阵

六十年一次的魔法战争就要开始了,大魔法师准备从附近的魔法场中汲取魔法能量。大魔法师有m个魔法物品,编号分别为1,2,...,m。每个物品具有一个魔法值,我们用Xi表示编号为i的物品的魔法值。每个魔法值Xi是不超过n的正整数,可能有多个物品的魔法值相同。大魔法师认为,当且仅当四个编号为a,b,c,d的魔法物品满足xa<xb<xc<xd,Xb-Xa=2(Xd-Xc),并且xb-xa<(xc-xb)/3时,这四个魔

2016-11-25 21:31:13 1782

原创 NOIP2016总结

今年是第二次参加noip…… 早上略…… 中午睡醒以后就去考场了。这一次考场的键盘打起来感觉不错,就是按键的位置有按键的位置有点奇怪。打了一个a+b试机,比赛就开始了……今年的比赛不是很难,前三题不翻车都是可以切的,第四题有点难。第一题:直接算就好了。第二题:date1和date2都只有八位,日期那么一定是在10000101到99991231之间。直接模拟然后判断是否是回文数即可。第三题:刚看到

2016-11-23 17:43:33 468

原创 2016.10.29【初中部 NOIP提高组 】模拟赛C

估分:100+100+100实际得分:70+100+0第一题:刚看到题目的时候认为是贪心,但只拿了70分。 正解是动态规划。 设f[i]表示在第i个数时的最大分队数,方程:f[i]=max(f[0~i-a[i]])+1。时间复杂度o(n2)o(n^2),过不了。 用一个数组s来维护0~i的最大值,f[i]=s[i-a[i]]+1。时间复杂度就变成了o(n)o(n)。fengfeiyang还用了

2016-10-31 19:33:50 304

原创 2555.雾雨魔理沙 {动态规划}

Description 在幻想乡,雾雨魔理沙是住在魔法之森普通的黑魔法少女。话说最近魔理沙从香霖堂拿到了升级过后的的迷你八卦炉,她迫不及待地希望试试八卦炉的威力。在一个二维平面上有许多毛玉(一种飞行生物,可以视为点),每个毛玉具有两个属性,分值value和倍率mul。八卦炉发射出的魔法炮是一条无限长的直线形区域,可以视为两条倾斜角为α的平行线之间的区域,平行线之间的距离可以为任意值,如下图所示:

2016-10-15 16:15:59 860

原创 Magical GCD

Description: 对于一个由正整数组成的序列, Magical GCD 是指一个区间的长度乘以该区间内所有数字的最大公约数。给你一个序列,求出这个序列最大的 Magical GCD。INPUT: 单个测试点包含多组数据。 输入的第一行是一个整数T表示数据组数。 每组数据的第一行是一个整数N,描述序列长度。 接下来N个数字,描述这个序列元素A[i]。 1

2016-10-12 19:18:36 755

原创 2016.10.06【初中部 NOIP提高组 】模拟赛C

又翻车了……几乎没有一次不翻车的。8:00:比赛开始,看题。 第一题,水题。 第二题,貌似是dp。 第三题,前缀和? 第四题,没想法。8:10:第二题应该可以做出来,have try。 设状态……推方程……8:40:没想出来,看第三题。 前缀和不出来,会时超。 貌似这题也不会做啊? 看第四题……9:00:都没有想出来,开始码。 第一题,c++码起来特别爽。 第二题,先放着,一会再

2016-10-07 07:47:00 356

原创 {模板}快速幂

code:long long mi(long long x,long long l){ long long y; if (x==1) return(l); if (x%2==1) { long long s=mi(x/2,l); y=(s*s*l); } else { long long s=m

2016-10-06 21:56:14 239

原创 {模板}spfa

code:void spfa(){ int h=1,t=1,i,j,k; d[1]=1; dis[1]=0; bz[1]=true; while (h<=t) { int l=d[h]; i=g[l];//前向新 while (a[i][0]==l) { int

2016-10-06 21:40:58 371

原创 {模板}高精度压位

乘:procedure c1(x:longint);var i,j,k:longint; y:int64;begin y:=0; for i:=1 to ans[0] do begin ans[i]:=ans[i]*x+y; y:=ans[i] div mo; ans[i]:=ans[i] m

2016-10-06 16:12:51 743

原创 2016.10.05【初中部 NOIP普及组 】模拟赛&Aug~Sep总结

久违的普及组比赛……本来是想着要AK……结果翻车了……第一题:刚看完题,发现是一道大水题。 直接分解质因数,把相同的消掉,最后乘起来就行了。 但在距离比赛结束还有5分钟的时候,发现: 数字均为在1000以内的非负整数。那不就是100010001000^{1000},要高精度!WTF!!!看题,看题,看清楚题!!第二题:一道最短路,spfa一次就可以了。 本来以为可以切的,结果: 开

2016-10-05 16:17:51 357

原创 2016.09.24【初中部 NOIP提高组 】模拟赛C 总结

第一题:第一题不难,将总用电量算出来,直接二分就可以了。第二题:又是奇怪的环…… 可以把序列copy一遍后dp。 设f[i][j][0]表示当前这个点选的最大值,f[i][0]表示当前点选的最大值,最后将答案除2。 不知道为什么连样例都过不了…… 没有办法,只能枚举起点,再dp。时间复杂度o(n2k)o(n^2k),40分。 正解就是dp一遍求最大值,再求一遍最小值。答案是max(max,

2016-09-26 19:37:57 327

原创 独立集

树形dp

2016-09-23 19:03:44 7245

原创 2016.09.17【初中部 NOIP提高组 】模拟赛C

本周的第二场比赛…… 估分:100+100+10=210 实际得分:0+100+0=1002:30晚来了半个小时…… 开始看题。 第一题,水题,直接模拟。2:35第二题貌似没有看懂题。 懵逼了五分钟,终于把题看懂了。 没有什么思路,继续懵逼…… 好吧,看下一题。2:45第三题貌似也不会做,两题不会做,有点方。 开始码…… 很快就把第一题拍出来,继续想第二题。3:40咦,第二题不就是

2016-09-19 20:36:06 382

原创 2016.09.10【初中部 NOIP提高组 】模拟赛C 总结

翻车了……(貌似没有几次是不翻车的55555)第一题:比赛的时候直接递推,想到可以水二三十分,结果只水到10分。 正解: 化简后得到的式子: (2+n)+(3+n)+……+(m+n)m!∗n−m+1\dfrac{(2+n)+(3+n)+……+(m+n)}{m!}*n-m+1 用一个高精度乘和一个高精度除单精度出即可。第二题:直接枚举答案,然后判断合不合法,™20分。 正解: 枚举一个数

2016-09-14 20:09:16 348

原创 {算法}浅析线段树

线段树是一种简单而实用的算法。 线段树是一棵二叉树,而且是一颗完全二叉树。顾名思义,线段树的每一个节点表示一个区间,如图: 以最大值问题为例: 给你一个数列,每次询问区间最大值是多少。maketree:根节点表示1~n的区间最大值,然后将这个区间分成两半,它的两个子节点分别表示这两个区间的最大值,这样我们就可以构造一个线段树。void maketree(int t,int l,int r){

2016-08-23 15:56:47 5591

空空如也

空空如也

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

TA关注的人

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