
Noip
文章平均质量分 65
Taunt_
这个作者很懒,什么都没留下…
展开
-
手写队列,栈(STL党必备)
//作为忠实的STL党,队列和栈经常会影响速度,所以可通过手写struct来代替STL 其实也不会卡的很厉害,尽量写和以前一样的防止出错queuestruct queue{ const int maxn = 100000 + 100; int l = 0,r = 0,a[maxn]; void push(int x){ a[++r] = x; }原创 2017-11-09 08:09:53 · 4304 阅读 · 5 评论 -
[noip2014] 解方程
题目描述已知多项式方程:a0+a1x+a2x^2+..+anx^n=0求这个方程在[1, m ] 内的整数解(n 和m 均为正整数)大水题,注意取mod 要会快读,否则输入时可能会溢出#include<cstdio>#include<iostream>#include<cstring>using namespace std;#define ll long longconst int max原创 2017-11-09 07:54:29 · 431 阅读 · 0 评论 -
[11.8]模拟
//34 + ? + 0 //真的一天比一天水卖书 【问题描述】 大 C 开了一家 noip 辅导资料店,每本资料售价 5 元,且每人限购一本。前来买书的人络绎 不绝,他们带着5 元,10 元和20 元。可是由于启动资金有限,大 C 进完货之后手上已经没 有钱了,所以他只能用前面收的钱找钱。现在大C 想知道他能不能成功的找钱。 【输入格式】 第一行一个整数n 表示来买书的原创 2017-11-08 22:08:06 · 526 阅读 · 0 评论 -
[noip2015]斗地主
//毒瘤题 //整整一下午才调好暴力枚举,除了这个没有别的什么办法 可以用hash来剪枝 hash保存每种状态的最小值 虽然敲起来很心累,但收获还是不少的#include<iostream>#include<cstdio>#include<cstring>#include<map>using namespace std;#define ll long long#define de原创 2017-11-08 16:57:52 · 407 阅读 · 0 评论 -
蒟蒻复习之—–前缀和和差分
前缀和1.一维前缀和对于数组A[],前缀和SUM[i]表示的就是A[1]+A[2]+…+A[i]。int init() { for(int i = 1; i <= n; i++) sum[i] = sum[i-1] + a[i];}int get(int l, int r) { return sum[r] - sum[l-1];}2.二维前缀和对于二维数组,前缀和SUM[i][原创 2017-11-08 14:35:08 · 3007 阅读 · 0 评论 -
[ZJOI2009]假期的宿舍
题目描述学校放假了 · · · · · · 有些同学回家了,而有些同学则有以前的好朋友来探访,那么住宿就是一个问题。比如 A 和 B 都是学校的学生,A 要回家,而 C 来看B,C 与 A 不认识。我们假设每个人只能睡和自己直接认识的人的床。那么一个解决方案就是 B 睡 A 的床而 C 睡 B 的床。而实际情况可能非常复杂,有的人可能认识好多在校学生,在校学生之间也不一定都互相认识。我们已知一共有原创 2017-11-08 08:54:03 · 407 阅读 · 1 评论 -
蒟蒻复习之—–对拍
作为蒟蒻,对拍这种东西有点高大上,但还是要会的,说不定就会用到~~~对拍器#include<windows.h>int main() { int n = 100; while(n--) { system("init > 1.in "); //注意不要用data,容易搞成date出问题 system("1 < 1.in > 1.out");原创 2017-11-07 19:26:15 · 410 阅读 · 0 评论 -
[luogu3932] 浮游大陆的68号岛
有一天小妖精们又在做游戏。这个游戏是这样的。妖精仓库的储物点可以看做在一个数轴上。每一个储物点会有一些东西,同时他们之间存在距离。每次他们会选出一个小妖精,然后剩下的人找到区间[l,r][l,r]储物点的所有东西,清点完毕之后问她,把这个区间内所有储物点的东西运到另外一个仓库的代价是多少?比如储物点ii有xx个东西,要运到储物点jj,代价为x \times \mathrm{dist}( i , j原创 2017-11-07 17:18:25 · 447 阅读 · 0 评论 -
[11.7]模拟
//100 + 30 + 20少女 【问题描述】 你是能看到第一题的 friends 呢。 ——hja 少女在图上开车,她们希望把图上每条边分配给与其相连的点中的一个, 并且每个点最多被分配一条边,问可能的方案数。联通块上有环,方案数为2;没有环为点数 dfs判一下就好#include#include#includeusing namespace std;#defi原创 2017-11-07 11:54:09 · 535 阅读 · 0 评论 -
[luogu3927] SAC E#1 - 一道中档题 Factorial
题目描述SOL君很喜欢阶乘。而SOL菌很喜欢研究进制。这一天,SOL君跟SOL菌炫技,随口算出了n的阶乘。SOL菌表示不服,立刻就要算这个数在k进制表示下末尾0的个数。但是SOL菌太菜了于是请你帮忙。输入输出格式输入格式: 每组输入仅包含一行:两个整数n,k。输出格式: 输出一个整数:n!在k进制下后缀0的个数。输入输出样例输入样例#1: 10 40 输出样例#1: 2 说明对于20原创 2017-11-07 07:45:31 · 386 阅读 · 0 评论 -
蒟蒻复习之—–数学
//以下是我的一些模板的整理 //只有板子,没有原理素数1.素数判定O(根号n)bool prime(int x) { if(x == 0 || x == 1) return false; for(int i = 2; i * i <= x; i++) { if(x % i == 0) return false; } return true;}2.原创 2017-11-06 15:31:44 · 446 阅读 · 0 评论 -
错误统计
写下以下来告诫自己~~~~1.看好break 和 continue; 2.freopen 多检查一遍; 3.认真读题(理解不好再读几遍); 4.二分时注意边界; 5.看好数据范围,防止爆ll 和 int; 6.能用快读的用快读,能用printf的不用cout; 7.快读时注意int 和 ll; 8.做完了一定要多读几遍代码 9.不会的要打暴力,不要一直想打正解,往往你打的正解还不如暴原创 2017-11-06 12:03:12 · 354 阅读 · 0 评论 -
[11.6] 日常模拟
//100 + 40 + 0洗澡 【问题描述】 你是能看到第一题的 friends 呢。 ——hja 洗澡的地方,有一段括号序列,将一个括号修改一次需要1的代价(将左括 号变成右括号或者相反),求最小代价使得括号序列合法。 【输入格式】 一行一个括号序列。 【输出格式】 一行一个整数代表答案。 【样例输入】 ())( 【样例输出】 2 【数据范围与规定】 50%的数据,原创 2017-11-06 11:47:49 · 477 阅读 · 0 评论 -
[模拟赛]11.5
名字排序(name)【问题描述】 给定 n 个字符串,请去重后按照字典序排序 【输入格式】 从文件 name.in中读入数据。 输入的第一行包含两个正整数 n 表示总数 ,接下来 n行有 n 个字符串。 【输出格式】 第一行输出去重后的字符串个数 X 接下来 x 行按照字典序输出每一个字符串 【样例 1 输入】 4 a ab cdef ejdeh 【样例 1 输出】 4原创 2017-11-05 22:54:58 · 349 阅读 · 0 评论 -
[LibreOJ 537] DNA 序列
//其实本来是要写LibreOJ的比赛来 //但成绩惨不忍睹,而且题目也不会改题目描述 NOIP 复赛之前,HSD 桑进行了一项研究,发现人某条染色体上的一段 DNA 序列中连续的 kkk 个碱基组成的碱基序列与做题的 AC 率有关!于是他想研究一下这种关系。 现在给出一段 DNA 序列,请帮他求出这段 DNA 序列中所有连续 k 个碱基形成的碱基序列中,出现最多的一种的出现次数。 输入格式原创 2017-11-05 16:28:46 · 1249 阅读 · 1 评论 -
蒟蒻复习之—–二进制
二进制运算可以用来优化很多东西原创 2017-11-05 15:35:57 · 333 阅读 · 0 评论 -
[luogu]10月1日夏令营day2
//难度上还行,T3有点坑T1题目描述 59式给你出了一道**题: 有n个防御人(守方)还有n个攻击坦克(攻方) 每个防御人有护甲a[i],而攻击方每个坦克有火力b[i] 如果一个防守方的护甲不小于攻击方的攻击力,就可以防的住 然而我们保持了最大限度的克制,所以每个攻击方的攻击力都减去了t 而且防守方有zcy所以你有x次机会加强一个人的护甲,把它的护甲变成y 求安排一个防原创 2017-11-04 20:48:57 · 721 阅读 · 0 评论 -
[11.3]日常模拟.3
//60 + 0 + 30 //太弱了,这样怎么考试 //(以下只改了T1)T1//想到dp的方程了,可惜dp功底太差,不会处理细节首先可以发现当高度h满足单调性时,h[i] - h[j]最优; 所以可以按h排序 在进行DP f[i][j]表示跳了i次,到了j点所用的代价和 转移方程为f[i][j] = min(f[i-1][k] + h[j] - h[k] + val[j]) 找到满原创 2017-11-03 19:38:05 · 278 阅读 · 0 评论 -
[luogu模拟赛] 11.2
//0 + 0 + 8 //qaq我太水了入阵曲(rally)【题目描述】 丹青千秋酿,一醉解愁肠。 无悔少年枉,只愿壮志狂。 小 F 很喜欢数学,但是到了高中以后数学总是考不好。 有一天,他在数学课上发起了呆;他想起了过去的一年。一年前,当他初识算法竞赛的 时候, 觉得整个世界都焕然一新。 这世界上怎么会有这么多奇妙的东西?曾经自己觉得难以 解决的问题,被一个又一个算法轻原创 2017-11-03 07:24:46 · 571 阅读 · 0 评论 -
蒟蒻复习之—–STL
见Menci blog ~~~~原创 2017-11-02 16:48:05 · 294 阅读 · 0 评论 -
[11.2]日常模拟.2
//贪心 + DP被完虐 //30 + 20 + 40T1水题(water) Time Limit:1000ms Memory Limit:128MB 题目描述 LYK出了道水题。 这个水题是这样的:有两副牌,每副牌都有n张。 对于第一副牌的每张牌长和宽分别是xi和yi。对于第二副牌的每张牌长和宽分别是aj和bj。第一副牌的第i张牌能覆盖第二副牌的第j张牌当且仅当xi>=aj并且yi原创 2017-11-02 15:37:24 · 377 阅读 · 0 评论 -
[luogu模拟赛] 11.1
//挺好的一套题,就是没控制住看了题解,浪费了 //明天的要好好做斐波那契(fibonacci)【题目描述】小 C 养了一些很可爱的兔子。 有一天,小 C 突然发现兔子们都是严格按照伟大的数学家斐波那契提出的模型来进行 繁衍: 一对兔子从出生后第二个月起, 每个月刚开始的时候都会产下一对小兔子。 我们假定, 在整个过程中兔子不会出现任何意外。 小 C 把兔子按出生顺序,把兔子们从 1 开始原创 2017-11-02 07:02:11 · 601 阅读 · 0 评论 -
[11.1]日常模拟.1
//QAQ我全打是二分,好像暴力就能过 //100 + 100 + 20(玄学)T1立方数(cubic) Time Limit:1000ms Memory Limit:128MB 题目描述 LYK 定义了一个数叫“立方数”,若一个数可以被写作是一个正整数的 3 次方,则这个 数就是立方数,例如 1,8,27 就是最小的 3 个立方数。 现在给定一个数 P,LYK 想要知道这原创 2017-11-01 11:40:27 · 431 阅读 · 1 评论 -
[luogu3258][JLOI2014]松鼠的新家
松鼠的新家 题目描述松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的。天哪,他居然真的住在”树“上。松鼠想邀请小熊维尼前来参观,并且还指定一份参观指南,他希望维尼能够按照他的指南顺序,先去a1,再去a2,……,最后到an,去参观新家。可是这样会导致维尼重复走很多房间,懒惰的维尼不听地推辞。可是松鼠告诉他,每走到原创 2017-10-31 22:04:47 · 304 阅读 · 0 评论 -
[noip2015]运输计划
运输计划 题目背景公元 2044 年,人类进入了宇宙纪元。题目描述L 国有 n 个星球,还有 n-1 条双向航道,每条航道建立在两个星球之间,这 n-1 条航道连通了 L 国的所有星球。小 P 掌管一家物流公司,该公司有很多个运输计划,每个运输计划形如:有一艘物流飞船需要从 ui 号星球沿最快的宇航路径飞行到 vi 号星球去。显然,飞船驶过一条航道 是需要时间的,对于航道 j,任意飞船驶过它所花费原创 2017-10-31 21:04:09 · 414 阅读 · 0 评论 -
[noip2014]联合权值
联合权值 题目描述无向连通图G 有n 个点,n - 1 条边。点从1 到n 依次编号,编号为 i 的点的权值为W i ,每条边的长度均为1 。图上两点( u , v ) 的距离定义为u 点到v 点的最短距离。对于图G 上的点对( u, v) ,若它们的距离为2 ,则它们之间会产生Wu×Wv 的联合权值。请问图G 上所有可产生联合权值的有序点对中,联合权值最大的是多少?所有联合权值之和是多少?输入输原创 2017-10-30 23:22:26 · 287 阅读 · 0 评论 -
[noip2012]疫情控制
疫情控制这里写链接内容 题目描述H 国有 n 个城市,这 n 个城市用 n-1 条双向道路相互连通构成一棵树,1 号城市是首都,也是树中的根节点。H 国的首都爆发了一种危害性极高的传染病。当局为了控制疫情,不让疫情扩散到边境城市(叶子节点所表示的城市),决定动用军队在一些城市建立检查点,使得从首都到边境城市的每一条路径上都至少有一个检查点,边境城市也可以建立检查点。但特别要注意的是,首都是不能建立原创 2019-10-11 22:20:45 · 2672 阅读 · 0 评论 -
蒟蒻复习之-----二分
蒟蒻复习之—–二分//这两天做了几道二分题 //感觉对二分的理解更加深刻了模板int l = 0, r = maxn;while(l <= r) { int mid(l + r) >> 1; if(pd(mid)) { ans = mid; l = mid + 1; } else r = mid - 1;}关键在于pd()函数的写原创 2017-10-28 21:09:37 · 365 阅读 · 0 评论 -
[noip2007]树网的核
树网的核题目描述设T=(V, E, W) 是一个无圈且连通的无向图(也称为无根树),每条边到有正整数的权,我们称T为树网(treebetwork),其中V,E分别表示结点与边的集合,W表示各边长度的集合,并设T有n个结点。路径:树网中任何两结点a,b都存在唯一的一条简单路径,用d(a, b)表示以a, b为端点的路径的长度,它是该路径上各边长度之和。我们称d(a, b)为a, b两结点间的距离。原创 2017-10-28 20:43:33 · 330 阅读 · 0 评论 -
[noip2012]借教室
借教室 在大学期间,经常需要租借教室。大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室。教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样。面对海量租借教室的信息,我们自然希望编程解决这个问题。我们需要处理接下来n天的借教室信息,其中第i天学校有ri个教室可供租借。共有m份订单,每份订单用三个正整数描述,分别为dj,sj,tj,表示某租借者需要从第sj天到第tj天租借教室(原创 2017-10-28 12:45:55 · 586 阅读 · 0 评论 -
[noip2009]靶形数独
靶形数独小城和小华都是热爱数学的好学生,最近,他们不约而同地迷上了数独游戏,好胜的他们想用数独来一比高低。但普通的数独对他们来说都过于简单了,于是他们向 Z 博士请教,Z 博士拿出了他最近发明的“靶形数独”,作为这两个孩子比试的题目。靶形数独的方格同普通数独一样,在 9 格宽×9 格高的大九宫格中有 9 个 3 格宽×3 格高的小九宫格(用粗黑色线隔开的)。在这个大九宫格中,有一些数字是已知的,根据原创 2017-10-27 22:20:42 · 336 阅读 · 0 评论 -
[noip2008]双栈排序
链接【问题描述】 Tom最近在研究一个有趣的排序问题。如图所示,通过2个栈S1和S2,Tom希望借助以下4种操作实现将输入序列升序排序。 操作a 如果输入序列不为空,将第一个元素压入栈S1 操作b 如果栈S1不为空,将S1栈顶元素弹出至输出序列 操作c 如果输入序列不为空,将第一个元素压入栈S2 操作d 如果栈S2不为空,将S2栈顶元素弹出至输出序列 如果一个1~n的排列P可以通原创 2017-10-26 22:50:48 · 303 阅读 · 0 评论 -
[noip2011]聪明的质监员
题目描述 Description 小 T 是一名质量监督员,最近负责检验一批矿产的质量。这批矿产共有n 个矿石,从1到n 逐一编号,每个矿石都有自己的重量wi 以及价值vi。检验矿产的流程是:见图 若这批矿产的检验结果与所给标准值S 相差太多,就需要再去检验另一批矿产。小T不想费时间去检验另一批矿产,所以他想通过调整参数W 的值,让检验结果尽可能的靠近标准值S,即使得S-Y 的绝对值最小。请你帮原创 2017-10-26 21:06:28 · 433 阅读 · 0 评论 -
[luogu1341]无序字母对
链接题目描述给定n个各不相同的无序字母对(区分大小写,无序即字母对中的两个字母可以位置颠倒)。请构造一个有n+1个字母的字符串使得每个字母对都在这个字符串中出现。输入输出格式输入格式: 第一行输入一个正整数n。以下n行每行两个字母,表示这两个字母需要相邻。输出格式: 输出满足要求的字符串。如果没有满足要求的字符串,请输出“No Solution”。如果有多种方案,请输出前面的字母的ASCII编码原创 2017-10-25 22:10:39 · 383 阅读 · 0 评论 -
蒟蒻复习之-----LCA
蒟蒻复习之—–LCA//这两年考LCA考的特别多,QAQ //重要不重要自己体会1.Tarjan都说tarjan的好写,一直没看过 今天看了看挺简单的,比倍增的好写多了 //个人比较喜欢打多个函数,代码有点长模版题#include#include#includeusing namespace std;const int maxn = 500000 + 100原创 2017-10-24 13:05:33 · 305 阅读 · 0 评论 -
蒟蒻复习之-----Tarjan
蒟蒻复习之—–Tarjan//强连通图的判断方法 //作为复习篇不讲原理[noip2015]信息传递 //就是找一个最小环 //标准的模板题(虽然有很多解法)#include<iostream>#include<cstdio>#include<cstring>#include<stack>using namespace std;const int maxn = 200000 + 100原创 2017-10-23 21:22:07 · 283 阅读 · 0 评论 -
[luogu2024] 食物链
链接题目描述动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形。A 吃 B,B吃 C,C 吃 A。现有 N 个动物,以 1 - N 编号。每个动物都是 A,B,C 中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这 N 个动物所构成的食物链关系进行描述:第一种说法是“1 X Y”,表示 X 和 Y 是同类。第二种说法是“2 X Y”,表示 X 吃 Y 。此人对 N 个动物原创 2017-10-22 20:57:57 · 441 阅读 · 0 评论 -
蒟蒻复习之-----最小生成树
蒟蒻复习之—–最小生成树//又一基础算法被深究QAQ一般有两种方法,但考虑到博主只会kruskal,就不说Prim了kruskalkruskal是基于贪心的,对所有边sort,再从小加边 模板.#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int原创 2017-10-21 21:29:52 · 312 阅读 · 0 评论 -
蒟蒻复习之-----并查集
蒟蒻复习之—–并查集//前两天做了个差分约束的题,结果题解说权值并查集也能做题目 //然后就恶补了下并查集,想到之前一直没想明白的食物链就头疼并查集概要 并查集作为算法竞赛中较为简单、易用的数据结构,适用于由时序并入的动态集合查找。并查集中的两个主要操作就是“合并集合”与“查找集合”算法 用集合中的某个元素来代表这个集合,该元素称为集合的代表元。 一个集合内的所有元素组织成以代表元为根的树原创 2017-10-21 20:52:08 · 373 阅读 · 0 评论 -
[luogu2294] [HNOI2005]狡猾的商人
链接题目描述小 K 在 Minecraft 里面建立很多很多的农场,总共 n 个,以至于他自己都忘记了每个农场中种植作物的具体数量了,他只记得一些含糊的信息(共 m 个),以下列三种形式描述:农场 a 比农场 b 至少多种植了 c 个单位的作物。农场 a 比农场 b 至多多种植了 c 个单位的作物。农场 a 与农场 b 种植的作物数一样多。 但是,由于小 K 的记忆有原创 2017-10-16 22:53:34 · 422 阅读 · 0 评论