- 博客(31)
- 收藏
- 关注
原创 洛谷题目 P2680 运输计划
题目在这里:题目传送门小编题外话:哎,这道题,做了三天,用了四五种方法,终于结束研究了。首先,让我们来研究一下部分分吧!一. 20分的解法:我们可以枚举是哪一条边变成了“虫洞”,然后再通过搜索得到所有M条路的值,之后,就可以统计出答案了。二话不说,直接上代码:#include<iostream>#include<cstring>#include<cstdio>using namespace std;const int maxN=300100;stru
2021-06-16 16:47:18
162
原创 洛谷题目 P1966 火柴排队
这里是题目:题目传送门这道题,乍一看上去,其实根本没有什么思路。首先,先来一波玄学证明:∑(ai−bi)2=∑(ai2+bi^2)-2∑(ai+bi)首先,前面的平方的和是固定不变的,也就是说,要使两排火柴之间的距离尽量小,就要使2∑(ai+bi)尽量大,也就是说,大的a[i]配大的b[i],小的a[i]配小的b[i],这又是为什么捏?我们拿2个数来看,假设第一排中a<b,第二排中c<d,那么ac+b*d一定是最大的。ac+bd-(ad+bc)=(a-b)(c-d)>0
2021-06-16 16:39:27
207
原创 洛谷题目 P1969 积木大赛
这里是题目:题目传送门这道题,我们可以用很多种方法做出来,下面就来介绍几种。1.贪心的做法:我们可以观察到,当i+1的高度比i小的时候,完全可以有前面i做几次将i+1的高度达到,当h[i+1]>h[i]时候,还需要做h[i+1]-h[i]次才能将i+1的位置搞定,所以,答案就是所有后面比前面高的差的总和。附上代码:#include<iostream>#include<cstdio>using namespace std;int s[100100],n,ans,n
2021-06-16 16:33:03
305
转载 NOIP2014提高组初赛
一、单项选择题(共15题,每题1.5分,共计22.5分;每题有且仅有一个正确选项)以下哪个是面向对象的高级语言( )。 A. 汇编语言 B. C++ C. Fortran D. BasicB计算机语言具有高级语言和低级语言之分。而高级语言又主要是相对于汇编语言而言的高级语言并不是特指的某一种具体的语言,而是包括很多编程语言,如流行的java,c,c++,C#,pascal,pyth...
2018-09-23 22:12:57
696
原创 NOIP2003年普及组题解
这是第一题:https://www.luogu.org/problemnew/show/P1042 首先,在做题之前要注意两个地方: ‘E’不一定出现在文本的末尾,也不一定出现在某行的末尾 比赛必须要领先2个球才能获胜,11:10的比分是不存在的 好了,废话不多说,直接上代码~~~#include<iostream>#include<cstring>#...
2018-09-17 18:29:32
746
原创 NOIP2005年普及组题解
这是第一题https://www.luogu.org/problemnew/show/P1046 这道题嘛,陶陶能够到的高度是固定的,所以可以枚举每个苹果,与陶陶能够到的高度比较,然后再把计数器加1就行了。#include<iostream>#include<cstdio>using namespace std;int a[15],hei,ans;int m...
2018-09-17 15:26:10
2161
1
原创 NOIP2009年普及组题解
这是第一题:https://www.luogu.org/problemnew/show/P1067 这道题嘛,真的是一道模拟题啊,只要细心一点,把题目中要考虑的情况全都囊括进去,然后再注意一下符号问题就好了。 直接上代码~~~#include<iostream>#include<cstdio>using namespace std;int n,a[110]...
2018-09-17 14:40:48
2444
原创 NOIP2008年普及组题解
这里是第一题的题干:https://www.luogu.org/problemnew/show/P1055 这道题,有点玄幻(不要问我为什么) 直接看代码吧(毕竟说多了都是伤心泪):#include<iostream>#include<cstdio>#include<cstring>#include<string>using na...
2018-09-16 22:06:09
2391
原创 NOIP2007年普及组题解
这里是第一题的题干:https://www.luogu.org/problemnew/show/P1093这道题,就是一道简单的排序,在这里,我用的是快速排序,根据题目的要求去进行排序即可。 直接暴力上代码~~~#include<iostream>#include<cstdlib>#include<utility>#include<cs...
2018-09-16 21:38:48
2870
原创 2006年普及组总结
这是第一题的题干:https://www.luogu.org/problemnew/show/P1059 这道题啊,直接排序不就好了嘛。#include<iostream>#include<cstdlib>#include<utility>#include<cstdio>using namespace std;int n,ran[...
2018-09-16 11:48:56
170
原创 2004年普及组总结
这是第一题:https://www.luogu.org/problemnew/show/P1085 这道题,没有什么好说的吧,就是暴力枚举就好了#include<iostream>#include<cstdio>#include<cstdlib>using namespace std;int a,b,s,max=0,i,day=0;//a和b是津津...
2018-09-16 11:03:52
151
原创 NOIP2009普及组第三题:细胞分裂
好吧,题目在这里:https://www.luogu.org/problemnew/show/P1069 哈哈,没有想到把,又是洛谷。好了,言归正传,这道题要用到一些数学的知识。。。 至于怎么做嘛,直接看下面吧~~~#include<iostream>#include<cstring>#include<cmath>#include&l...
2018-09-15 08:27:15
1132
原创 NOIP模拟赛(140,史上最惨的一次)
哈哈哈,140分,我也不想说什么了,直接看题吧。。。第一题:还好,第一题做对了,不然就秀逗了。。。第二题: 2.俄罗斯方块 (tetris.pas/c/cpp) 【问题描述】 Lvica是一位充满激情的计算机科学家。 他最近开始研究他的第一个电脑游戏:一个流行的俄罗斯方块的复制品。 尽管他还远未完成,但他关于游戏的设计支持将下图中显示的五种不同的俄罗斯方块图形放在一个矩阵中。 在将...
2018-09-14 23:35:42
576
原创 数学小论文
好了,又要开始写数学小论文了。刚开始,本来是想写一些高大上的数学定理,但是发现其实自己根本没有理解到这个定理的本质,讲也讲不清。所以,我决定,从最开始的东西为基础来写本次的数学小论文,那就是加减乘除(当然,还有括号),在现实生活中,这些都是十分简单的东西,是一位学生,就肯定把这简单的四则运算牢记于心。还有很多同学,利用计算器,去研究或者推测一些数学定理。但是,又有几个人知道,在这计算机的背...
2018-09-09 11:02:08
3778
原创 NOIP2013年第四题:车站分级
题干在这里:https://www.luogu.org/problemnew/show/P1983 啊啊啊啊,又是洛谷的网站!!!好了,言归正传,这道题,刚刚拿到的时候简直是一点思路都没有,毫无头绪!!!思考了良久,终究在模拟赛的三个小时中败下阵来。。。之后,经过老师的一番讲解之后,原来这道题是拓扑排序,震惊!!! 至于拓扑排序是什么嘛,在这里就不科普了,度娘永远是最好的答案~~~,每...
2018-08-24 00:15:49
556
原创 NOIP2013年普及组第二题:表达式求值
原文在这里:https://www.luogu.org/problemnew/show/P1981 好吧又是洛谷的。。。首先,这道题很简单,由于只有乘法和加法两种运算,竟然还没有括号!!!简直就是普及组的奇迹!!!直接模拟不就好了? 直接上代码:#include&amp;lt;iostream&amp;gt;#include&amp;lt;cstdlib&amp;gt;#include&amp;lt;cstd
2018-08-23 23:45:27
2580
原创 2013年普及组第一题(普通做法+数学做法)
题干在这里:https://www.luogu.org/problemnew/show/P1980 不要问我为什么是洛谷。。。好吧,其实这道题没有什么好讲的,普通的模拟就直接可以过了 代码如下:#include<iostream>#include<cstdio>using namespace std;int n,x;int main(){ ...
2018-08-23 23:17:05
234
原创 2015年普及组第四题
来来,题目在这里:https://www.luogu.org/problemnew/show/P2672至于这道题嘛,说实话个人感觉有点恶心。 还是一样先说60分的做法,枚举距离最远的一家住户的位置,然后在前面选出前i-1个(如果说是要到i家的话)最大的劳累值,然后求出最大的和就好了。值得一提的是,在最后一家住户越来越远的时候,如果这家住户从i移到了i+1的话,无非就是将i的值添加到原来维护...
2018-08-20 19:27:06
181
原创 2014年普及组第四题
好吧,原文在这里:https://www.luogu.org/problemnew/show/P2258这道题其实有点恶心,刚开始的时候我还吧题目的意思理解错了!!! 先说55分的做法吧:首先我们要确定选的是哪几行哪几列,这个其实直接用搜索枚举每一种情况,然后求出一个最大值就好了。。。 下面是55分的代码(虽然我不知道多余的拿五分是怎么来的。。。)#include<iostrea...
2018-08-20 17:23:59
208
原创 人生第一场提高组初赛
emmmm,怎么说呢,第一场就爆炸,这有一点尴尬。。。好了爆炸归爆炸,总结才是最重要的。。。 好的就不说了,直接来说一说这场考试暴露出的问题吧时间安排不太均匀,导致有一道题甚至没有看(那道题很简单。。。)第一次做初赛题目,还不知道题目的类型,做起来有点生涩好吧,这些都不是重点,具体情况具体分析,直接说一下:第三题:3.分辨率为1600x900、16 位色的位图,存储图...
2018-08-18 11:18:29
312
原创 2018.8.16:人生第一场模拟赛
file:///D:/c++/%E6%A8%A1%E6%8B%9F%E8%B5%9B/NOIP2017_Junior.pdf 呀呀呀,今天做完了我人生中的第一场模拟赛(虽然是普及组的。。。),好紧张,好刺激!!!第一次考试就得了300分,可喜可贺。。。首先先说一下最基础的一些东西吧:首先所有的输入输出的文件都要按照题目的要求来写,不容得一点错误做这些题如同一个背包问题,怎么在有限...
2018-08-16 22:03:59
186
原创 P1091 合唱队形(树状数组)
这里是题干:https://www.luogu.org/problemnew/show/P1091 好吧,这道题其实用动态规划就好了,但是无聊的老师居然还让我用树状数组的方法再做一遍,又过去了一个上午。先说思路:这道题可以拆分为一个上升子序列和一个下降子序列的组合,再枚举中间最高的人的位置,将以他结尾的最大上升序列和以他开头的最大下降序列相加,再求一个最大值就好了。 那么,问题来了—— ...
2018-08-04 14:35:24
243
原创 树状数组(这是一个好东西~~~)
我们还是用一道题来举例子吧 这里是题干:https://www.luogu.org/problemnew/show/P2068 首先,我们要引入一个神奇的东西:lowbit,我们用它来表示一个数的二进制的末尾有多少个0,我们可以用&运算来实现, lowbit(x)=x&(-x);之后我们用s[i]来表示从i开始到i-lowbit(i)+1个数的a的值,接着我们用sum[i...
2018-08-03 14:55:08
149
原创 P1168 中位数
这里是题干:https://www.luogu.org/problemnew/show/P1168#sub这道题如果用普通的排序的话,时间复杂度为O(n^2*log(n))当n为100000的时候就超时了,只能得到40%的分,这里我们要用到离散的思想。如果直接用线段树的话,数组个体的大小为1000000000,用了会爆掉,所以我们要用一个比较小的数来代替这个数组(用1到n表示a数组,就是这样)...
2018-08-02 22:02:51
276
原创 线段树(这是一个神奇的东西)
首先,让我们用一道简单的题来引入线段树: 输入n,m,在接下来的n行里输入一个数列a1,a2……an, 之后的m行输入三个数num,x,y其中num表示操作类型, 当num等于一时表示a[x]=y,等于二时表示输出x到y的最大值很明显,用模拟就可以了,暴力上代码~~#include<iostream>using namespace std;int n,m,a[1010...
2018-07-31 08:32:52
119
原创 对拍函数
在做题的时候,我们一般都有一些特别简单粗暴的做题方法,虽然会超时,但是一定是对的(如果想不到更好的方法也可以尝试着教一下这种方法,能拿几分是几分) 如果与此同时,你有一种更好的思路,但是不能保证这个程序是正确的,我们就可以用到对拍程序首先,我们要自己出一些数据,题目要什么就随机出什么,一下程序是参考#include<iostream>#include<cstdli...
2018-07-30 22:38:26
308
原创 P1169 棋盘制作
这里是题干:https://www.luogu.org/problemnew/show/P1169这是什么优化都没有的。。。六次方,爽的一批~~~#include&lt;iostream&gt;using namespace std;int n,m,a[2100][2100],f[100][100][100][100];bool judge(int i,int j,int x,in...
2018-07-29 23:30:34
257
原创 P1070 道路游戏(单调队列+动态规划)
题干在这里:https://www.luogu.org/problemnew/show/P1070这道题分了三类, 对于 40%的数据, 2≤n≤40,1≤m≤40 对于 90%的数据,2≤n≤200,1≤m≤200 对于 100%的数据2≤n≤1000,1≤m≤1000,1≤p≤m先说状态转移方程:f[i][j]表示在i时刻在j工厂买了一个机器人 f[i][j]=max{f[i+...
2018-07-29 00:50:27
581
原创 P1122 最大子树和(树形动态规划)
题干在这里:https://www.luogu.org/problemnew/show/P1122本题老师教了我两种方法,和大家分享一下,希望能帮到大家~~~第一种思路: 由于每两个点之间都有一些联系,我们可以先把两两之间的关系用边的形式储存下来:head[x]是表示与x相连的第一个元素的下标edge[x].po是表示链头为xedge[x].next是表述链头是x,与x...
2018-07-26 23:59:09
1267
原创 洛谷 P1052过河
这个是题干:https://www.luogu.org/problemnew/show/P1052#sub这是一道NOIP2005年的提高组的题,那道题一看,就是要用动态规划,状态转移方程也十分简单。只需要考虑是从哪个地方来的,看看即将到达的点是否有石子。用一维数组 f[x] 表示第X位的步数(额,这只是30分的写法,L 的取值太大,数组承受不了)之后,我又想骗一点分,就特判了一下s==t...
2018-07-26 20:04:41
400
原创 P1020 导弹拦截
这里是题干:https://www.luogu.org/problemnew/show/P1020这道题其实比较简单,第一问就是求一串数中的最长非递增序列的长度,第二问有一点费解,但是其实无异于求最长的递增序列(你想想,后面的比前面的大,不就应该要发新的一颗导弹来拦截么?)像我这种蒟蒻都一眼看出了本质,只不过。。。恶心的出题者竟然一定要用n*log(n)的做法(也就是贪心算法)!本人还没有...
2018-07-26 14:31:06
1492
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人