【NOIP2016】
文章平均质量分 51
。。。
Loi_Peacefuldoge
调试的错误就是编程给你最好的东西,因为在每个错误上面都标志着前进的一步。
展开
-
【DFS】CODE[VS] 2066 三角恋(刷题记录)
点击进入异世界当时国庆tyvj上面比赛中的一道题,其实是一道trajan,但可以用dfs来找环(topsort也可以做)找环就行了,虽然题目让找的是三角恋,但其实只要在有向图中找到环就可以了,因为在一个有向环中,关系是可以传递的,完。代码如下:#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#原创 2016-10-30 16:07:53 · 443 阅读 · 0 评论 -
【数据结构】CODE[VS] 2491 && bzoj 3039玉蟾宫 (单调栈)
点击观看<虹猫蓝兔七侠传> 点击观看<虹猫蓝兔七侠传(bzoj高端权限专版)> 题意是让你求最大子矩阵和 就是最大子段和的二维扩展 做的时候,还是需要一些技巧的 这道题直接暴力搜肯定会TLE(大师难度 ,出题人不可能出简单的暴搜) 我们可以将原图的R,F矩阵转化为01矩阵,然后按照行来遍历,每次记录当前行当前搜到的最大的向上为1的那一列的序号……额,给个原创 2016-11-15 22:24:19 · 492 阅读 · 0 评论 -
【图论】CODE[VS] 1557 热浪 (SPFA模板)
题意:求无向图的最短路 \(>▽<)/解法:SPFA原创 2016-10-19 01:45:45 · 422 阅读 · 0 评论 -
【求逆序对】CODE[VS] 3286 火柴排队 (树状数组离散化求逆序对)
点击火柴一键排队逆序对,听起来高大上,实际上就是逆序的数对233333 可以用归并排序的性质求解 但是我们也可以用树状数组+离散化很方便地求出额,你问我什么是离散化?。。。。 离散化通常就是将范围很广的一段数据映射到范围较窄的一段数据上 通常可以选择直接存地址(数组下标),或者%一个数(常为大质数)存余数我在这里是根据sort前的序号进行hash,然后按照数值大小排序#include原创 2016-11-10 19:08:09 · 549 阅读 · 0 评论 -
【BFS】CODE[VS] 1535 封锁阳光大学(二分图BFS染色)
点击进入异世界关于二分图染色详情请回戳我的上一篇博文【DFS】CODE[VS] 1535 封锁阳光大学 (二分图染色)BFS代码也很好写,思路跟DFS基本一样,只不过在搜的时候,我们要从一个点出发遍历完整个连通子图基本的BFS代码如下(略丑,比DFS慢一些):#include <cstdio>#include <cstring>#include <iostream>#include <algo原创 2016-10-30 11:17:29 · 551 阅读 · 0 评论 -
【数据结构】树状数组模板--CODE[VS] 1080线段树练习and1081线段树练习2
CODE[VS] 1080 : 点击进入魔塔第一层 CODE[VS] 1081 : 点击进入魔塔第二层树状数组是个好东西,常数比线段树小,代码比线段树简单基于区间加法,资磁区间求和,区间修改,单点查询,单点修改,区间查询………关于lowbit数组,这是一个非常神奇的东西,很难想象第一个想到这样来给数组划分的人时怎么想到的 lowbit[i]存的是某一个数,取其二进制最一个1所在位置的数,显然奇数原创 2016-11-10 17:44:37 · 489 阅读 · 0 评论 -
【坑爹】2016.11.8 清北学堂钟长者的P73
坑爹考试,习惯性爆零第一个题一眼高精不想打 第二个题一眼接水问题不到20分钟打完WA 第三个题没看出来以为是DP一直搞(正解:贪心)T2:死亡 【问题描述】 现在有M个位置可以打sif,有N+1个人在排队等着打sif。现在告诉你前N个人每个人需要多长的时间打sif,问你第N+1个人什么时候才能打sif。(前N个人必须按照顺序来) 【输入格式】 第一行两个整数N,M如上所述。原创 2016-11-10 17:26:21 · 834 阅读 · 0 评论 -
【BFS】CODE[VS] 1226 倒水问题 (BFS+模拟)
点击被抓去倒水这道题主要考察代码能力 模拟倒水的过程,结果因为码力太弱,漏了两种情况(x和y全倒入一个(x或y)不满) 然后就没有然后了最近超喜欢压代码怎么破???原创 2016-11-10 16:52:15 · 811 阅读 · 1 评论 -
【模拟】Luogu P1518 两只塔姆沃思牛(The Tamworth Two)
点击进入FJ的牧场据说是道BFS,但是好像只有遇到最优解输出跟BFS有点关系,除此之外完全纯模拟 提交时间 2016-11-09 17:12 耗时/内存 52ms , 16410kb (巨慢)原创 2016-11-10 16:44:03 · 595 阅读 · 0 评论 -
【贪心】CODE[VS] 1063 NOIP2004普及组-合并果子 (刷题记录(模拟+优先队列))
点击进入幻想郷日常水题 贪心策略:每次找代价最小的两对合并,用小根堆来维护,每次合并之后将当前合并结果重新推入队列,直到合并完成(n-1次)代码如下#include <cstdio>#include <cstring>#include <algorithm>#include <iostream>#include <cstdlib>#include <ctime>#include <qu原创 2016-11-01 07:51:36 · 511 阅读 · 0 评论 -
【最短路】CODE[VS] 1557 热浪 (Dijkstra模板)
拒绝前往德克萨斯州哼唧Dijkstra才是真正优美的最短路算法,不服来辩!基本策略是贪心原创 2016-11-12 20:19:23 · 538 阅读 · 0 评论 -
【数据结构】CODE[VS] 4373 窗口(双端队列滑动窗口)
点击获得窗口垃圾题目,毁我青春。双端队列的应用题,滑动窗口的模板题? 为什么除了我以外都打得模拟啊,就我一个用STL???一边读取一边操作,最大最小分开操作,队列中存该数字的下标 时效过了的,从前端弹出 取最小值的时候,将最小的放在队首,若新加元素比队尾小,就将对尾弹出,因为你用不着了 取最大值的时候,将最大的放在队首,若新加元素比队尾大,就将对尾弹出,因为你用不着了*2 最后输出,别忘了原创 2016-11-15 16:45:43 · 598 阅读 · 0 评论 -
【数据结构】CODE[VS] 1531 山峰 (单调栈维护单调递减序列)
点击去爬山单调栈的基础练习 然而人傻,想复杂了,知道是单调栈,但是在看Qer神犇题解之前,我用单调栈维护的是每个山峰可以看到的山峰总数还有一个栈维护的是后缀和????(mdzz) 反正我就是个智障啊 明明只用维护当前单调递减的山峰序列即可给Qer大神跪了‘代码如下#include <cstdio>#include <cstring>#include <iostream>#include原创 2016-11-14 19:44:09 · 574 阅读 · 0 评论 -
【图论】关于邻接表建图
邻接表 作为一名现役Oier在做过无数图论题目和搜索题目之后,可以说是相当熟悉了,但是今天做的一道题,让我对于邻接表表示直接懵逼,原来在跑最短路的时候还是明白每个数组各自的作用的,然而一旦在其它题目中遇到就不会了,所以今天特意复习,并决定好好整理一下,以后别再懵逼了…原创 2016-10-19 00:12:06 · 700 阅读 · 2 评论 -
【贪心】CODE[VS] 3377 [Mz]接水问题2 (模拟+优先队列(堆))
考试时的T1 水题,当时晚上没睡好,把m写成3(样例里面m == 3) 然后就非常帅气地一分没有 很水的一道模拟(贪心),模拟接水过程,由于接完水最终时间一定,所以我们不需要管接完了多少,我们只需要知道当前所有水龙头中,总接水时间最短的是哪一个( 用小根堆维护),然后将所有已排好序中最小的哪一个接上去就行了,虽然原题中还特别声明“特别地,同学们在打水前排好了队,接水所用时间更长的先接。”但这其原创 2016-11-01 01:43:51 · 404 阅读 · 0 评论 -
【DP】NOI题库 6049买书 && 4976硬币
1.点击前去买书 2.点去前往火星T1:6045 买书很水的背包问题真是01背包….把要买的书价格想成背包空间就行了代码如下:#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>const int maxn = 10001;using namespace std;int n;int k原创 2016-11-13 19:33:33 · 528 阅读 · 0 评论 -
【最短路(动态规划)】CODE[VS] 1077 多源最短路 (Floyed模板)
点击进入异世界Floyed的模板 Floyed的本质就是动态规划算法 时间复杂度O(n^3)代码如下:#include <cstdio>#include <cstdlib>#include <cstring>#include <iostream>#include <algorithm>const int maxn = 115;using namespace std;int n,q;in原创 2016-11-16 17:35:11 · 658 阅读 · 0 评论 -
【最短路】CODE[VS] 1021 玛丽卡 ( Dijkstra )
点击躲避玛丽卡 单源最短路 定义一个cost数组记录边的权值,然后删边(改值为INF)跑最短路就行了 第一遍跑的时候,别忘了记录一下每个点的父节点,方便删边代码如下(dijkstra):#include <cstdio>#include <cstring>#include <algorithm>#include <iostream>#include <queue>#def原创 2016-11-16 17:23:35 · 433 阅读 · 0 评论 -
【BFS】CODE[VS] 2594 解药还是毒药 (状态压缩优化BFS)
点击进入Smart制药坊关于状压:可以先看我之前写的一篇这里我们用一个数的二进制位表示的是,当前状态下患有什么病,初始化全患上 例如01011,就是 (不患,患,不患,患,患) 这里我们用到^(异或)运算符 1^1 = 0 1^0 = 1 0^0 = 0 0^1 = 1 所以每当我们取一种药的时候,就枚举这个药可以治疗的病,若& = 1,我们就与该位置^ = 0,反之若会患上该病,也是原创 2016-11-10 16:02:49 · 683 阅读 · 0 评论 -
【DFS】CODE[VS] 1018&&NOIP2000提高组T3 单词接龙 (日常刷题???)
点击进入异世界一个深搜,莫名其妙卡了3天…. 一开始想到直接匹配字符串会不会太慢,于是就想到了用string自带的find()函数寻找子串位置,两个相比较的字符串位置相减,如果等于零(相互抵消)则说明可以合并,然后递归调用,每次ans取len的max然后死活调不出来,换了char数组用strstr()还是调试不出来,后来看到了外校神犇blogCandy?神犇的博客原文地址:http://www.c原创 2016-10-27 19:18:53 · 740 阅读 · 0 评论 -
【DFS】CODE[VS] 1535 封锁阳光大学(二分图DFS染色)
点击进入异世界这个题,题意是给图染色判断是否为二分图 什么事二分图呢 顾名思义是可以将一个图中的点分为两个集合的图这道题既可以用DFS也可以用BFS,先写下DFS的做法(比我写的BFS快一些)二分图满足一个性质:不存在拥有奇数条边的环。如果存在则不是二分图因为,在二分图定义中,同属一个集合的点互相之间是没有连边的,若存在奇数环,则说明同集合点一定有连边。如下图所示:当有环且环上边数为偶数时 同原创 2016-10-30 11:09:44 · 649 阅读 · 0 评论 -
【动态规划】CODE[VS] 1169 传纸条【2008年NOIP全国联赛提高组】
小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题。一次素质拓展活动中,班上同学......棋盘型dp大水题原创 2016-09-25 20:30:04 · 672 阅读 · 0 评论 -
【DFS】CODE[VS] 1295 N皇后问题(刷题记录)
点击进入异世界日常刷水题 棋盘上的DFS。从每次按行搜索,搜索当前行的每一列是否能放皇后,于是只需要记录列与对角线是否被“皇后所占”,若没有则放上,若已占则继续搜索,若放上,之后别忘记回溯到上一步状态,我们可以建一个二维bool数组来记录当前你所想要放皇后的位置是否已有其他皇后.......原创 2016-10-24 10:19:22 · 405 阅读 · 0 评论 -
【DFS】CODE[VS] 1031 质数环(刷题记录)
点击进入异世界日常刷水题 在递归函数传x参数,是已经有多少个数填到序列里,最后判断下x是否等于总数n且序列首元素与序列末尾元素之和是否为素数,若都满足则输出序列,另外在进行搜索之前,与处理一下2~n*2范围内那些数为质数,这样就不用每次递归判断一次了,快些…代码如下:#include <cstdio>#include <cstring>#include <iostream>#include原创 2016-10-24 08:22:46 · 393 阅读 · 0 评论 -
【优化】我の读入优化
为什么读入优化会快 因为getchar比scanf快……原创 2016-10-24 08:37:43 · 347 阅读 · 0 评论 -
【定理】算术基本定理(唯一分解定理)
大蒟蒻来水贴了!算术基本定理(唯一分解定理)原创 2016-05-03 21:36:49 · 10402 阅读 · 5 评论 -
【数论】埃氏筛法&&CODE[VS] 3223 素数密度 = =
埃氏筛法:时间复杂度O(nloglogn) (mdCSDN分分钟崩溃,重写第四次QAQ) 想要得到n以内所有质数,应筛去sqrt(n)以内的所有质数的倍数 为什么呢 .....原创 2016-10-17 21:51:34 · 449 阅读 · 1 评论 -
【数论】快速幂&&CODE[VS] 3500
快速幂这是一种非常方便的好用容易写的可以使你^加速的一种小算法 虽然说你是小算法,但的确经常用到啊!原创 2016-10-11 01:58:49 · 470 阅读 · 2 评论 -
【数论】矩阵乘法&&CODE[VS] 1287
昨天搞了搞矩阵快速幂 结果好久米做数论的题,矩乘和快速幂嘴上还能说出来但代码都不会打了QAQ 所以决定都重新搞一遍233先来做矩阵乘法原创 2016-10-11 01:40:27 · 522 阅读 · 0 评论 -
【高精度计算】加减乘模板(水)
所有的高精度计算都很相似(除以外),都是模拟小学生算数列竖式,借位进位之类的,最主要的难点应该就只有判重和0上了吧,233好像没什么可说的了原创 2016-10-14 21:25:16 · 490 阅读 · 0 评论 -
【坑爹】2016.10.13LOI日常考试 T1(状压BFS) Maze2[迷宫]+状态压缩基础知识
昨天上午日常考试差点爆零(也差不多啦~ QAQ)先说说这三个题题意 T1:状态压缩BFS T2:状态压缩DP T3:①模拟栈②链表可加并查集优化(给柳畅神犇(Loier们の赤い太陽)跪烂Orz)现在暂时只想写第一个题的题解 不是因为我懒(实际却是主因)原创 2016-10-13 21:50:37 · 935 阅读 · 1 评论 -
【数论】矩阵快速幂&&CODE[VS] 1732
矩阵,快速幂以及矩阵快速幂终于到了最后一个重头戏矩阵快速幂(矩阵与快速幂的无限基情) 矩阵快速幂基于矩乘和快速幂的一种算法 它的一个作用是加速递推,例如快速求出斐波那契数列关于矩阵乘法:http://blog.csdn.net/loi_peacefuldog/article/details/52783928关于快速幂:http://blog.csdn.net/loi_p原创 2016-10-11 19:53:01 · 406 阅读 · 2 评论 -
【BFS】CODE[VS] 2059 逃出克隆岛(奴隶岛)
点击进入冲绳奴隶岛魔兽系列题目第一弹BFS典型例题,遇到传送门只走一次且将走每一个传送门的情况都搜一下,碰到终点直接退出输出结果即可PS:最近超喜欢压行!我也不知道为什么原创 2016-11-10 15:10:07 · 3491 阅读 · 1 评论 -
【BFS】CODE[VS] 3411 洪水 (日常刷题)
点击进入异世界基础BFS,很水,直接宽搜,都不需要推入队列代码:#include <cstdio>#include <cstring>#include <cstdlib>#include <iostream>#include <algorithm>const int maxn = 1010;using namespace std;int n,m,r,c;int map[maxn][maxn原创 2016-11-10 12:16:09 · 462 阅读 · 0 评论 -
【DFS】CODE[VS] 1091 传染病控制
点击进入异世界前排膜DQS真·暴力暴力邻接表建图,然后按轶搜索(预处理出深度),搜到没有儿子时返回搜索这类题,思想都没什么难度,主要考察代码能力(QAQ)原创 2016-11-10 12:11:59 · 509 阅读 · 1 评论 -
【数论】(贾志鹏)线性欧拉筛模板&&CODE[VS] 1453 统计素数个数2
点击进入异世界详情请百度“贾志鹏线性筛”每次只用最小的素数筛去,时间复杂度为线性的O(n)比埃筛快 但空间复杂度比埃筛大些#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <iostream>#define maxn 13333333using namespace std;typ原创 2016-11-10 11:54:49 · 577 阅读 · 0 评论 -
【DFS&&搜索剪枝】CODE[VS] 3498 小木棍
点击进入地狱这个搜索做得比较早了…. 11.1下午来机房开始搞这个暴搜,结果一直TLE&&WA后来放了会没再管,11.3号早上又想了起来 然后就开始了悲惨的WA之路QAQ:题是好题,是我太弱了…..这道题的思路: 暴力枚举 我们枚举目标长度,当目标长度可以整除给出木棍长度之和的时候,我们再去判断这些木棍是否可以拼成该长度原创 2016-11-10 11:31:16 · 430 阅读 · 0 评论 -
【预警】☢☢☢一大波博文即将更新☢☢☢
☢博客更新预告好久没总结 来更新一下博客,这里是预告哔哔哔哔哔~原创 2016-11-08 23:46:15 · 381 阅读 · 0 评论 -
【DFS】CODE[VS] 1294 全排列(刷题记录)
题目地址:点击进入异世界题意写在题面上:#include <cstdio>#include <iostream>#include <algorithm>using namespace std;int n;int a[20];bool pd[20];void dfs(int x){ if(x == n){ for(int i = 1;i <= n;i++){原创 2016-10-19 07:28:33 · 415 阅读 · 0 评论 -
各种距离(NOIP范围)
各种距离(NOIP常用概念)By Loi_Peacefuldoge①欧几里德距离(euclidean metric) 亦被称之为欧几里得度量或欧氏距离原创 2016-09-10 10:15:40 · 927 阅读 · 0 评论