洛谷刷题
水云间丶
这个作者很懒,什么都没留下…
展开
-
洛谷P1003铺地毯
洛谷P1003铺地毯(简单模拟)看到题目第一个想法就是,先循环n次,在这层循环里面读入四个数据,然后再双重循环遍历范围内的所有点。但是一看这时间复杂度有点太高了,后面优化了一下,只记录下来,然后在查询时候看这个点是不是在区域范围内就行了。(小白的辣鸡思维orz)贴代码吧#include <iostream>#include <cstring>#include &l...原创 2020-03-08 15:11:09 · 89 阅读 · 0 评论 -
洛谷P1067 多项式输出
一题很简单的模拟,但是本蒟蒻因为思路不清晰,WA了好多次…我对于模拟题的处理真的太菜了…其实细想一下,作为一个人,然而我是菜鸡不是人 ,我们拿到系数后应该怎么写出这个多项式呢?分为两步,一步写系数,一步写x的次数(这不是废话吗)系数问题:系数有正有负啊(如果是0直接不处理就行了),正数的话,如果不是最高项那就一定要输出“+”,负数的话这个数本身就带符号嘛对吧。还有两个比较特殊的值:1和-1,...原创 2020-03-08 15:53:10 · 98 阅读 · 0 评论 -
洛谷 P1540 机器翻译
看到这个题目,想到的是滑动窗口的题,不过感觉要比滑动窗口简单点。内存中最多只能放m个数,就是维护一个长度为m的窗口,如果在这个窗口里面 找到了,那就OK,查下一个。如果没找到,那么首先先看窗口是否满了,满了的话把队头弹出即hh++,在队尾加上新的元素,如果没满,直接加上新的元素即可贴个自己的代码:#include <iostream>#include <cstring&g...原创 2020-03-08 16:57:40 · 136 阅读 · 0 评论 -
洛谷 P1031 均分纸牌
看到题目,想到之前写的糖果传递(环形均分纸牌问题)其实思路简单,每堆都要达到平均值,那么我们先计算出平均值,遍历所有堆,如果当前堆不等于平均值,那么我们就索取(或者给予),这两种方式其实都是拿数值表示,没什么太大区别。这样我们就保证,每一堆只有旁边的那堆供给就可以了,不会出现A->B,然后B->C的(冗余)情况。#include <iostream>#include ...原创 2020-03-09 16:45:09 · 90 阅读 · 0 评论 -
洛谷 P1023 税收与补贴问题
初中数学(或者小学数学)问题,销量随着价格上升线性递减那么我们需要先处理出来单价——销量对应表,然后再谈其他问题前面的输入中会输入对应的单价和销量,但是它可能不连续,那么我们需要自己处理出来中间断掉的,就是求斜率嘛,销量差除以单价差就可以了。那么我们怎么看收税和补贴的最值呢,我只能想到遍历了,遍历价钱,然后根据公式就利润,然后取最值就行了吧…#include <bits/stdc++...原创 2020-03-09 16:45:38 · 107 阅读 · 0 评论 -
洛谷 P1056 排座椅
看洛谷的题解用到了桶排,但是本蒟蒻还没学到要分开只有两种,一种是两个人在同一排,一种是在同一列我们只需要记录一下如果是同一排,我们纵切切在哪儿,这一切能拆散几对;如果是同一列,我们横切切在哪儿,拆了几对。等将数据都读完了以后,我们进行排序首先把横切和纵切都按照拆散对数降序排列,这样子我们就能以尽量少的数量拆散更多对嘛,然后再按照怎么切的排序,切的顺序是升序。这样以后再输出就好了。四次排序...原创 2020-03-09 16:45:55 · 110 阅读 · 0 评论 -
洛谷 P1086 花生采摘
这算是自己完全独立做出的第一道模拟的题吧,太感人了。模拟类型的题我真的应付不来qwq,虽然一题花了一个小时(中间有个bug调了半天),但是还是很令人开心的呜呜呜。吐槽部分到此为止花生采摘,这名让我想起来之前做的背包问题的摘花生其实就是在图里面,按照花生个数降序的顺序去摘花生,其中走到那个点,再采摘都是需要时间的,考虑去不去摘这个花生,我们要考虑时间是否够用,这个时间=目前已经使用的时间+去花生...原创 2020-03-09 20:19:57 · 369 阅读 · 0 评论 -
洛谷 P1098 字符串的展开
这题,按照给的条件一项项来就成,不过我自己写的代码有一点麻烦,看到别人用三目运算符精简版,真的%%%先贴个我自己的:#include <bits/stdc++.h>using namespace std;char str[310];int main(){ int p1,p2,p3; cin >> p1 >> p2 >>...原创 2020-03-09 21:02:40 · 213 阅读 · 0 评论 -
洛谷P1051谁拿了最多奖学金
写个排序就好了,水一波~#include <bits/stdc++.h>using namespace std;const int N = 110;struct Student{ string name; int id; int final,cscore,essay; char leader,west; int award;}s...原创 2020-03-10 18:13:34 · 96 阅读 · 0 评论 -
洛谷P1093奖学金
继续水一波#include <bits/stdc++.h>using namespace std;const int N = 310;struct Student{ int id; int chinese,math,english; int score;}st[N];bool cmp(Student a,Student b){ i...原创 2020-03-10 18:26:45 · 135 阅读 · 0 评论 -
洛谷 P1219 [USACO1.5]八皇后 Checker Challenge
裸的八皇后问题,DFS,记录全局变量,控制只输出前三个解。#include <bits/stdc++.h>using namespace std;const int N = 15;char g[N][N];bool col[N],dg[N * 2],udg[N * 2];//主副对角线,记得开两倍大小int n;int res;void dfs(int u){...原创 2020-03-10 20:06:18 · 154 阅读 · 0 评论 -
洛谷 P1019 单词接龙
(我只会无脑DFS了 )题目就是把单词接起来,接头至少为1,每次单词使用次数不超过2,并且要求长度最大是多少。可以先预处理出两两单词之间接龙的接头长度是多少,然后再进行DFS贴个代码#include <bits/stdc++.h>using namespace std;const int N = 25;string word[N];int used[N];int g...原创 2020-03-10 20:29:44 · 86 阅读 · 0 评论 -
洛谷P1605迷宫
就是简单dfsDFS主要步骤:1.找到当前可以拓展的点,那么立即走入这个分支点2.如果当前搜索分支无效或已经找到目标,回溯3.每一个点最多会被访问两次,入栈一次,出栈一次贴个常见的代码int search(int t) { if(满足输出条件) { 输出解; } else { for(int i=1;i<=尝...原创 2020-03-11 15:58:59 · 107 阅读 · 0 评论