【日常-刷题记录】
。。。
Loi_Peacefuldoge
调试的错误就是编程给你最好的东西,因为在每个错误上面都标志着前进的一步。
展开
-
【数论】埃氏筛法&&CODE[VS] 3223 素数密度 = =
埃氏筛法:时间复杂度O(nloglogn) (mdCSDN分分钟崩溃,重写第四次QAQ) 想要得到n以内所有质数,应筛去sqrt(n)以内的所有质数的倍数 为什么呢 .....原创 2016-10-17 21:51:34 · 472 阅读 · 1 评论 -
【BFS】CODE[VS] 1226 倒水问题 (BFS+模拟)
点击被抓去倒水这道题主要考察代码能力 模拟倒水的过程,结果因为码力太弱,漏了两种情况(x和y全倒入一个(x或y)不满) 然后就没有然后了最近超喜欢压代码怎么破???原创 2016-11-10 16:52:15 · 942 阅读 · 1 评论 -
【求逆序对】CODE[VS] 3286 火柴排队 (树状数组离散化求逆序对)
点击火柴一键排队逆序对,听起来高大上,实际上就是逆序的数对233333 可以用归并排序的性质求解 但是我们也可以用树状数组+离散化很方便地求出额,你问我什么是离散化?。。。。 离散化通常就是将范围很广的一段数据映射到范围较窄的一段数据上 通常可以选择直接存地址(数组下标),或者%一个数(常为大质数)存余数我在这里是根据sort前的序号进行hash,然后按照数值大小排序#include原创 2016-11-10 19:08:09 · 668 阅读 · 0 评论 -
【数据结构】CODE[VS] 2491 && bzoj 3039玉蟾宫 (单调栈)
点击观看<虹猫蓝兔七侠传> 点击观看<虹猫蓝兔七侠传(bzoj高端权限专版)> 题意是让你求最大子矩阵和 就是最大子段和的二维扩展 做的时候,还是需要一些技巧的 这道题直接暴力搜肯定会TLE(大师难度 ,出题人不可能出简单的暴搜) 我们可以将原图的R,F矩阵转化为01矩阵,然后按照行来遍历,每次记录当前行当前搜到的最大的向上为1的那一列的序号……额,给个原创 2016-11-15 22:24:19 · 534 阅读 · 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 · 554 阅读 · 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 · 481 阅读 · 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 · 570 阅读 · 0 评论 -
【数据结构】CODE[VS] 1531 山峰 (单调栈维护单调递减序列)
点击去爬山单调栈的基础练习 然而人傻,想复杂了,知道是单调栈,但是在看Qer神犇题解之前,我用单调栈维护的是每个山峰可以看到的山峰总数还有一个栈维护的是后缀和????(mdzz) 反正我就是个智障啊 明明只用维护当前单调递减的山峰序列即可给Qer大神跪了‘代码如下#include <cstdio>#include <cstring>#include <iostream>#include原创 2016-11-14 19:44:09 · 611 阅读 · 0 评论 -
【数据结构】CODE[VS] 4373 窗口(双端队列滑动窗口)
点击获得窗口垃圾题目,毁我青春。双端队列的应用题,滑动窗口的模板题? 为什么除了我以外都打得模拟啊,就我一个用STL???一边读取一边操作,最大最小分开操作,队列中存该数字的下标 时效过了的,从前端弹出 取最小值的时候,将最小的放在队首,若新加元素比队尾小,就将对尾弹出,因为你用不着了 取最大值的时候,将最大的放在队首,若新加元素比队尾大,就将对尾弹出,因为你用不着了*2 最后输出,别忘了原创 2016-11-15 16:45:43 · 649 阅读 · 0 评论 -
【模拟】Luogu P1518 两只塔姆沃思牛(The Tamworth Two)
点击进入FJ的牧场据说是道BFS,但是好像只有遇到最优解输出跟BFS有点关系,除此之外完全纯模拟 提交时间 2016-11-09 17:12 耗时/内存 52ms , 16410kb (巨慢)原创 2016-11-10 16:44:03 · 629 阅读 · 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 · 815 阅读 · 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 · 776 阅读 · 0 评论 -
【DFS】CODE[VS] 1031 质数环(刷题记录)
点击进入异世界日常刷水题 在递归函数传x参数,是已经有多少个数填到序列里,最后判断下x是否等于总数n且序列首元素与序列末尾元素之和是否为素数,若都满足则输出序列,另外在进行搜索之前,与处理一下2~n*2范围内那些数为质数,这样就不用每次递归判断一次了,快些…代码如下:#include <cstdio>#include <cstring>#include <iostream>#include原创 2016-10-24 08:22:46 · 425 阅读 · 0 评论 -
【DFS】CODE[VS] 1295 N皇后问题(刷题记录)
点击进入异世界日常刷水题 棋盘上的DFS。从每次按行搜索,搜索当前行的每一列是否能放皇后,于是只需要记录列与对角线是否被“皇后所占”,若没有则放上,若已占则继续搜索,若放上,之后别忘记回溯到上一步状态,我们可以建一个二维bool数组来记录当前你所想要放皇后的位置是否已有其他皇后.......原创 2016-10-24 10:19:22 · 418 阅读 · 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 · 438 阅读 · 0 评论 -
【DFS&&搜索剪枝】CODE[VS] 3498 小木棍
点击进入地狱这个搜索做得比较早了…. 11.1下午来机房开始搞这个暴搜,结果一直TLE&&WA后来放了会没再管,11.3号早上又想了起来 然后就开始了悲惨的WA之路QAQ:题是好题,是我太弱了…..这道题的思路: 暴力枚举 我们枚举目标长度,当目标长度可以整除给出木棍长度之和的时候,我们再去判断这些木棍是否可以拼成该长度原创 2016-11-10 11:31:16 · 445 阅读 · 0 评论 -
【DFS】CODE[VS] 1091 传染病控制
点击进入异世界前排膜DQS真·暴力暴力邻接表建图,然后按轶搜索(预处理出深度),搜到没有儿子时返回搜索这类题,思想都没什么难度,主要考察代码能力(QAQ)原创 2016-11-10 12:11:59 · 622 阅读 · 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 · 481 阅读 · 0 评论 -
【BFS】CODE[VS] 2059 逃出克隆岛(奴隶岛)
点击进入冲绳奴隶岛魔兽系列题目第一弹BFS典型例题,遇到传送门只走一次且将走每一个传送门的情况都搜一下,碰到终点直接退出输出结果即可PS:最近超喜欢压行!我也不知道为什么原创 2016-11-10 15:10:07 · 3790 阅读 · 1 评论 -
【DFS】CODE[VS] 1535 封锁阳光大学(二分图DFS染色)
点击进入异世界这个题,题意是给图染色判断是否为二分图 什么事二分图呢 顾名思义是可以将一个图中的点分为两个集合的图这道题既可以用DFS也可以用BFS,先写下DFS的做法(比我写的BFS快一些)二分图满足一个性质:不存在拥有奇数条边的环。如果存在则不是二分图因为,在二分图定义中,同属一个集合的点互相之间是没有连边的,若存在奇数环,则说明同集合点一定有连边。如下图所示:当有环且环上边数为偶数时 同原创 2016-10-30 11:09:44 · 719 阅读 · 0 评论 -
【动态规划】CODE[VS] 1219 骑士游历 【Noip1997】
去下中国象棋棋盘dp的水题,固定一边(x轴或y轴),一直按照规则(走日向右)累加过去 数据比较大,小心爆int,注意开long long就完了 //关于边界,根本没有必要,原因显然(赐给问我这个问题的狗儿子 QWQ)代码:#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using names原创 2017-04-06 09:50:40 · 957 阅读 · 0 评论