自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

布拉克王国

布拉克FOREVER!

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

原创 NOIP模拟 积木大赛

题目分析我们看完题之后我就只想到了枚举左右端点

2018-10-20 08:20:15 510

原创 NOIP模拟 开荒

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

2018-10-19 21:39:33 308

原创 NOIP模拟 轻功

Description题目背景: 尊者神高达进入了基三的世界,作为一个 mmorpg 做任务是必不可少的,然而跑地图却令人十分不爽。好在基三可以使用轻功,但是尊者神高达有些手残,他决定用梅花桩练习轻功。 题目描述: 一共有 n 个木桩,要求从起点(0)开始,经过所有梅花桩,恰好到达终点 n,尊者神高达一共会 k 种门派的轻功,不同门派的轻功经过的梅花桩数不同,花费时间也不同。但是尊者神高达一...

2018-10-19 21:32:42 199

原创 NOIP模拟 地图map

这道题我们很明显的发现肯定是动态规划当然以博主的智商,肯定是巧妙的推错了(留下苦涩的泪水)正解的状态还听我慢慢道来我们设f[i][j]为i个度数为2的点,其中j个点在环上(即剩下的i-j个点在链上)的方案数得到了以下三种转移方程然后发现链的个数是由度数为1的点的个数决定的最后给出代码#include<bits/stdc++.h>using namespace st...

2018-10-04 20:55:38 764

原创 NOIP模拟 挑战challenge

我们看到这道题首先想到的当然是直接暴力然后我们发现如果上一次的答案为x,若修改的点在x点后,那么答案不会改变如果在x前,我们用树状数组维护一个值就行了下面是代码#include<bits/stdc++.h>#define lowbit(x) x&-xusing namespace std;typedef long long ll;const ll N=2e...

2018-10-04 20:38:39 341

原创 NOIP模拟 track

这道题看着有字符串就直接想到了字符串匹配我们可以用f[i][j][k]来表示当走到i秒时j高度时已经匹配到第k个的时候的数量我们有这几种转移方式当这一位我们向上时若匹配成功f[i+1][j+1][k+1]+=f[i][j][k]匹配失败就是f[i+1][j-1][0]+=f[i][j][k](注意这里j不能为0)往下走时类似但这样我们会发现太浪费了,而且其中有部分没有计...

2018-10-03 20:32:09 239

原创 NOIP模拟 到不了

这道题我们首先看到lca会想到倍增,但是发现还有合并的操作这就尴尬了,考场上直接打了个暴力然后愉快的报零了这时我们也不慌,下来之后我们也没想到好方法,看网上题解发现居然用LCT(我没学)当然博主不是一个想学新方法的人于是开始钻研在线操作我们对于每次操作直接将原来的图重建一次然后强行再次运算倍增为了避免超时当然要加上输入输出优化下面是代码:#include<bits/...

2018-10-03 20:09:44 169

原创 NOIP模拟 Capacitor

首先我们看到这道题,他给出的公式可以看作并联时R=R1*R2/R1+R2串联时R=R1+R2由它可以推出当我们得到一个A/B的电容时,我们可以得到一个A+B/B或者A/A+B的电容我们正面不好从1推到A/B,就可以倒着来#include<bits/stdc++.h>using namespace std;long long t,a,b,ans;long long...

2018-10-03 19:43:31 227

原创 jzoj5788 餐馆

我们首先看到这道题的描述,我们可以发现若是在每两个有道路的店之间连一条边,所成图似乎就成长为了一颗树,那我们可以用树形dp来解决这道题首先我们思考状态转移,我们可以设`dp[当前点][这个点用的体力][0代表从此点出发回来,1代表从此点出发不回来]那状态转移可以设为dp[i][j+j+1][1]<-dp[son][k][1]+dp[i][j][0]这代表从此点出发回到此点,然...

2018-08-09 22:07:58 208

原创 jzoj5781 秘密通道

题目点这里(需要jzoj账号) - 首先我们看到这道题,这道题的基本是走迷宫,我们都做过类似的题,这道题只是在此基础上多了一个可以传送的条件 - 我们这样去想,对于一个点,它可以往上下左右四个方向射出子弹,然后打出相应的传送门出口,利用这些出口我们需要走到距离当前点最近的一堵墙,然后再花1的时间传送对吧?那么我们可以首先预处理出每个点距离最近墙的距离,然后判断它到四个方向的出口是否...

2018-08-08 19:47:30 587

原创 jzoj5769 引子

链接(需要jzoj账号)这道题是一道比较简单的模拟,重点是我们需要判断水箱与水管,一种方法是建树,当然我们这种怕麻烦的就只会直接搜索了我们先将整张图输入,然后可以离线处理,每当处理到数字时我们便查找一下数字,并将整个水箱全部染色,然后处理完之后我们对1水箱处理,然后判断水箱两边的水管,由水管找到下个水箱,并接着处理,注意输出顺序即可。代码:#include<i...

2018-08-07 21:57:05 314

原创 转圈游戏

这道题应该来说是一道很基础的题了由题我们可以知道当轮数达到n轮时,这个小伙伴走了的位置为n*m个,就相当于没走,那么接下来的我们就可以用高精度来处理,可以说hin简单了#include<iostream>#include<cmath>#include<cstdio>#include<cstdlib>#incl

2018-07-24 17:03:36 421

原创 国王游戏

题目地址这道题我们一看数据范围,就觉得不简单,事实上我们这样想:对于两个大臣来说,他们的先后顺序会对他们彼此得到的金币做出贡献对吧,那我们可以把他们看作一个大臣,对他们内部进行处理,然后其它的依次如此,也就是说我们可以只判断两位大臣相互的先后顺序,然后排序后得到最后的结果,即可得到我们想要的最小的最大值。处理时我们可以有两人的价值得ans1ans1ans_1 = max(a0b1...

2018-07-13 20:53:22 595

原创 Vigenère 密码

题目地址这道题比较简单,可以从表中看出,c[i]=((m[i]-‘a/A’)+(k[j]-‘a/A’))%26+’a/A’,便可以倒推出密文转换为明文的公式,但需要注意的是我们需要区分原文的大小写问题,下面是满分代码:#include<bits/stdc++.h>using namespace std;char M[1005],C[1005],K[1005];in...

2018-07-13 20:03:27 961

原创 斗地主

当初看到这道题,我就有点懵,这个题目这么长,除了直接强行搜索想不出任何办法,那就搜吧,结果没想到就这样过了其实思路比较简单: ①花色不影响大小,那么花色可以不管②我们可以发现只有顺子中会出现2点和大小王,那么我们在搜索时就可以先不管顺子,先把其他的解决③顺子因为较长可以作为后续优化处理,当发现还剩牌时步数已经比答案多,则返回 下面是代码://landlords#...

2018-07-01 15:59:10 501

原创 信息传递

这道题的题目比较明显,我们可以很轻松的发现其实这道题是要我们找最小环,然后它的大小就是答案我们可以考虑对每一个目标进行搜索,然后对于搜索到的标记下当前所需轮数,然后再次搜到时相减即可得到当前环的大小,然后我们在选取其中的最小值即可,下面是完整代码://message#include<iostream>#include<cmath>#include<...

2018-07-01 15:49:14 383

原创 神奇的幻方

这道题我们看完题目应该就会做了吧,直接模拟就行了,不多说。//magic#include<iostream>#include<cmath>#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>using names...

2018-07-01 15:20:47 366

原创 小P的牧场

看完题目描述,我们会马上想到动态规划,我们可以先走一遍前缀和,然后通过减去建控制站之后减去的值,对减去值取最大,然后可以看出可以用斜率优化来进行简化,下面是代码:#include<bits/stdc++.h>using namespace std;int read(){ int x=0,f=1;char ch=getchar(); while(ch...

2018-06-18 21:30:32 261

原创 无线网络发射器选址

首先我们先分析一下这道题,这道题的数据范围不大,因而可以直接用数组,然后选的时候直接进行搜索,查找出最有效的位置(因为就是暴力,这里不给出代码)。但是对于我们这样追求效率的人来说,这样的方法太慢了,这时我们想到,直接在输入时进行对图中的点操作,将它附近可以将它影响的点全部加上他的值,这样我们可以省下许多时间。这样的方法对于这道题来说已经够了,但我们会想,若是处理的数据太多组怎么办呢?我们...

2018-06-13 21:33:33 721

原创 NOIP2014 飞扬的小鸟

这道题拿到题很明显可以看出是动态规划,我们只需要在过管子是判断一下撞墙的操作,但是神奇的是我最开始用正向搜就T了,然后玄学反向一波就过了,还真是神奇四侠呢,那下面还是给出代码吧:#include<bits/stdc++.h>using namespace std;const int MAXDP=100000;int l[10005],h[10005];int d...

2018-06-09 21:40:01 190

原创 NOIP2014 联合权值

这道题我拿到是就想到了暴力,先是用vector给每个点加边,然后直接对每个点判断#include<bits/stdc++.h>using namespace std;vector<int> G[200005];int a[200005],num[200005];int n,ans,Max;void Search(int node){ ...

2018-06-09 21:22:56 331 1

原创 生活大爆炸版石头剪刀布

这道题十分简单,只需要列出所有的条件并判断即可,然后循环一下他们呢出题的规律,就可以了,下面是代码//rps#include<iostream>#include<cmath>#include<cstdio>#include<cstring>#include<cstdlib>#include<algorit...

2018-06-09 20:57:55 332

原创 古代密码

好的,根据一贯尿性,博主是做错了的,还以为整体字母对应的是全部整体平移,结果是随便排,没有任何规律,那就尴尬了,其实这道题的大概意思就是能否找到一种神奇的对应规则,让原词对应到密码就行了,也就是说我们只需要统计各单词出现的次数,然后对次数排序之后,一个一个对比(这里的意思是说如果某个字母转换后变为了某个字母,这两个的出现次数应该是一样的对吧)。那就是这样了,下面是代码:#inclu...

2018-04-06 16:21:38 251

原创 NOIP2009 最优贸易

这道题博主最开始就根本没想要得到满分,其实我知道肯定要用邻接表,但是为了稳一点博主就用了邻接矩阵,这里感性分析一波发现一个点最多经过三次(一次经过它去找最小值,一次经过它去找最大值,一次经过它去终点)那么就用一个数组来计数,然后小于等于三次时可以经过,那么当到n的时候就记录经过的最大值和最小值,然后计算即可,代码就不用了。 然后是第二种思路,我们可以从1开始走一遍,每个点仅限走一次,并记...

2018-04-02 21:36:48 176

原创 NOIP2009 靶形数独

拿到这道题就直接想到了搜索,我们只需要在输入时保存每一行已经用了的数字和每一列已经用了的的数字,并且保存下每一个3×3的小格里已经用了的数字,然后搜索时避免这样的情况即可,下面是代码:#include<iostream>#include<cmath>#include<cstdio>#include<cstring>#inc...

2018-04-02 21:12:19 335

原创 NOIP2009 Hankson的趣味题(还真是有趣呢!)

这道题最开始的想法就没想得到100分,看到这么大的范围就知道一定有规律可循,但是对于一个我这样的数学渣来说,满分早就离我而去了,那么就来看下50分怎么去解决。首先我们可以算出的是两个数的GCD, 那么我们只需要列举a1的倍数,然后判断最大公约数是不是a1就可以了,然后并将之标记,然后再在1~b1的范围内查找到x符合x和b0的最小公倍数是b1,然后也标记,那么可以知道,当两个都标记了的时候...

2018-04-01 21:38:04 487

原创 NOIP2009 潜伏者

潜伏者这道题比较简单,只需要一个一个去比较,然后保存已经有配对的,并用一个变量来保存配对个数,然后如果在配对时看一下是否已经配对过即可,下面是代码:#include<iostream>#include<cmath>#include<cstdio>#include<cstring>#include<cstdlib>#i...

2018-04-01 20:39:57 457

原创 NOIP2011 表达式求值

这道题一看就跟正常表达式求值差不多,我们需要一步一步保存前一部分的得0和得1的方案数,然后再与后面的进行运算,求出下个状态的方法总数,看到这里,很多朋友肯定想到了动态规划,然而如何保存运算顺序呢,那就要用到中缀表达式转后缀表达式,再按照运算顺序进行计算,下面是代码:#include<cstdio>#include<cstring>#include<...

2018-03-29 21:34:48 497

原创 NOIP2011 瑞士轮

这道题我们输入后,先排一遍序,然后每个进行对比,其中要注意排序的规则,如下:bool cmp(int x,int y){ if(grade[x]==grade[y]) return x<y; return grade[x]>grade[y];}那这道题有这么简单的吗?当然没有,sort函数无论是否是正确顺序都要进行操作,浪费了大量时间,所以做出来就...

2018-03-29 17:35:32 338

原创 2018-3-17——对于到目前为止的学习的总结

经过这半年对于c++的学习,我学到了很多,也发现了很多问题1.在某些内容上,弄懂了最基础的内容之后没有更深层次的学习,导致很多算法都只知道大概原理,而具体的应用上缺失了很多,对于许多算法没有拓展,只能做最基础的,没有一些变化2.对于一些课上没懂的内容也没有自己在课下再进行研究3.没有进行及时的复习,一些题目做了就做了,没有更多的探讨,只是当作完成任务式的瞎做4.对于学习没有系统性的整理...

2018-03-17 23:04:26 270

原创 还是采药问题

这是一道很经典的题目,动态规划基础题,我们可以将一种药看作一种状态,然后对每格进行 max取值,下面是代码:#include<cmath>#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cstdlib&g...

2018-03-16 21:19:46 246

原创 实数加法

这是一道高精度下的实数加法,我们和高精度整数加法的思想一样,只是将数分为两个部分,整数部分和小数部分,在进行相加,最后输出时注意小数部分末尾的0,要处理掉,下面是代码#include<cmath>#include<iostream>#include<cstdio>#include<cstring>#include<str...

2018-03-16 21:13:40 1354

原创 字符串最大跨距

- 这道题怎么说呢,完全不难,先用while输入第一个字符串直到有逗号,然后同样的,查找时s1从头开始找,s2从尾开始找,然后我这里用了一种特别的方法,大家感性的理解一下,下面是代码:#include<iostream>#include<cstdio>#include<cstdlib>#include<cmath>#include...

2018-03-15 21:31:24 1384 2

原创 流感传染

- 看完题目,发现时间即使是O(n^3)也就可以应付,那就直接愉快的扫吧#include<cmath>#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cstdlib>#include<algor...

2018-03-15 21:15:27 653

原创 分数求和

这道题不用多说,利用分母最小公倍数,在相加分子,最后判断是否可以月份即可,注意最后输出的时候判断分母是否为1,为1则只输出分子,下面是代码:#include<cmath>#include<iostream>#include<cstdio>#include<cstring>#include<

2018-03-15 21:11:15 1366

原创 细菌的战争

- 由题目可清晰的知道,其实写一个while就可以解决,最开始楼主卡了一下样例,之后才通过试,试出了应该先消灭再进行繁殖,然后好像也没什么用说的,具体看代码:#include<cmath>#include<iostream>#include<cstdio>#include<cstring>#include<string&gt...

2018-03-15 21:06:48 818

原创 2018-3-13——多边形游戏

题解:首先,我们根据提示可以知道,这一道题用的方法肯定就是递归了。那么让我们往递归的方向想,我们这样想,一条边,可以连接的是两个点或者是两个整块的运算结果,那我们对结果进行查找,找出其中最大的一个即可代码:#include<bits/stdc++.h>using namespace std;int f[101][101],ff[101];int num...

2018-03-13 17:17:39 302

原创 NOIP2012——文化之旅

这道题最初博主理解错误,误以为学了某种文化就不能到排斥这种文化的地方去(明明也是这样写的好吧),实际上只用判断到达的国家是否排斥现在所在国家的文化,那就简单多了,Floyd 走起,下面是代码:#include <stdio.h>using namespace std;const int MAX=999999;const int MAXN=105;int n,k...

2018-03-11 20:48:22 654 1

原创 NOIP2012——摆花

这道题最初想到了是用动态规划,但因本人菜鸡一枚,居然没推出公式,于是只好 迎着风向前冲 手打出了过程,那个最弱数据的30分,这是代码:#include<iostream>#include<algorithm>#include<cstdio>#include<cmath>#include<cstring>#includ...

2018-03-11 20:40:39 451

原创 NOIP2012——寻宝

看到这道题,我就想到了直接根据行走路径进行操作,结果 ——一片WA ,悲伤,那么除了这样,怎么解决呢?我们用到的方法是用数组存储每层楼有向上楼梯的个数,以及每个房间的情况,然后将要走的次数模上总个数,再用得到的值加上最初的房间,即可。下面是代码:#include<bits/stdc++.h>using namespace std;const int N=100...

2018-03-11 20:32:45 996

空空如也

空空如也

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

TA关注的人

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