Atcoder、Hihocoder
Nemaleswang
ACM退役狗一只
展开
-
AtCoder Beginner Contest 066 D - 11
题目链接:D - 11题目大意:给你一个序列,这个序列有n+1个数,1到n这每个数至少出现一次,问这个序列长度为1-n+1的子序列分别有多少种,结果对1e9+7取模题目思路:因为1-n每个数字至少出现一次,也就是说只有一个数重复出现了两次,那么我们首先可以考虑不重复的情况,直接就是C(n+1,k),n+1为序列种的总个数,k为当前选中的子序列的长度,这是不重复的个数,那么我们是需要减去重复个数的,比原创 2017-07-02 18:20:43 · 444 阅读 · 0 评论 -
hihocoder 1255 Mysterious Antiques in Sackler Museum
题目链接:G题题目大意:给你四个小矩形,问能不能选取其中三个小矩形组成一个大矩形题目思路:三个小矩形能构成大矩形的构造方法只有两种,三个排成一排或者一个左边,两个右边但是一个在右边上,一个右边下,方向不用管,那么我们枚举矩形,然后分别枚举长和宽列出这两种情况就好了#include <map>#include <set>#include <cmath>#include <queue>#inc原创 2017-10-19 21:13:23 · 312 阅读 · 0 评论 -
hihocoder 1258 Osu! Master
题目链接:J题题目大意:给你一些操作,C和B后面跟数字,S不跟,问有多少组操作,S算大圈,直接算一组,B和C算同样的一组操作,但是序号必须得递增,否则就是另一组的题目思路:直接按题意模拟就好了#include <map>#include <set>#include <cmath>#include <queue>#include <stack>#include <vector>#inclu原创 2017-10-19 21:30:03 · 602 阅读 · 0 评论 -
hihocoder 1014 Trie树
题目链接:Trie树题目大意:给你n个字符串,m次询问,每次去询问给定的字符串是给定的字符串里面中多少个字符串的前缀题目思路:字典树直接做就好了#include <map>#include <set>#include <queue>#include <stack>#include <cmath>#include <cstdio>#include <vector>#include <cs原创 2017-10-11 21:05:16 · 246 阅读 · 0 评论 -
hihocoder 1631 Cats and Fish
题目链接:Cats and Fish题目大意:有m条鱼,n只猫,x个时间,然后每只猫有一个吃鱼的速度,所有的猫同时开始吃鱼,他吃完一条鱼之后马上去下一条鱼,如果鱼不够,吃鱼速度快的猫先吃鱼,问x时间最后剩下多少条完整的鱼和不完整的鱼题目思路:我们直接模拟过去就好了,对猫按速度排个序,然后每分钟都从前往后扫一遍,看这个猫能不能吃鱼,能就给他分配一条没吃的鱼,然后对没个猫做个标记,代表他正在吃还是没吃了原创 2017-11-28 22:28:27 · 314 阅读 · 0 评论 -
hihocoder 1632 Secret Poems
题目链接:Secret Poems题目大意:给你一个某种路径形成的字符串,还原后用另一种方法表示题目思路:按题意模拟就好了,还原的时候分一下上下三角,然后上下三件移动的方向是成循环的,下半角需要分一下奇偶以确定初始方向#include <map>#include <set>#include <cmath>#include <vector>#include <cstdio>#include原创 2017-11-28 22:34:57 · 320 阅读 · 0 评论 -
hihocoder 1636 Pangu and Stones
题目链接:Pangu and Stones题目大意:给出n堆石头,每次最少合并其中l堆,最多合并r堆,合并的代价是这x堆的石头总和,问合成1堆最少需要多少代价题目思路:用 f[l][r][k] 表示第l堆到第r堆石子,合并成k堆的最小代价。用 d[i] 表示第i堆石子的石子个数。 转移方程: f[l][r][k] = min{f[l][i][1]+f[i+1][r][k-1]} f[l][r原创 2017-11-28 22:40:54 · 514 阅读 · 0 评论 -
hihocoder 1098 最小生成树二·Kruscal算法
题目链接:最小生成树二·Kruscal算法题目大意:给你一张无向带权图,求最小生成树题目思路:采用kruskal算法做,具体算法讲解参见我的B站算法讲堂:算法讲堂时间复杂度&&空间复杂度:O(MlogM + M * Ackermann’(M)))&&O(max(m,n))(n为点的个数,m为边的个数)#include <map>#inc...原创 2018-06-11 21:01:45 · 306 阅读 · 0 评论 -
hicoder 1097 最小生成树一·Prim算法
题目链接:最小生成树一·Prim算法题目大意:给你一张无向带权完全图,求最小生成树题目思路:因为题目要求的是朴素的prim做法来解决这样一道题,所以我们采用朴素的prim做法,具体算法讲解参见我的B站算法讲堂:算法讲堂时间复杂度&amp;&amp;空间复杂度:O(n*n)&amp;&amp;O(n*n)(n为点的个数)#include &lt;map&gt;#include &l原创 2018-06-11 20:57:51 · 348 阅读 · 0 评论 -
hihocoder 1257 Snake Carpet
题目链接:I题题目大意:给你n个贪吃蛇,要求你去构造一个矩阵,使得编号为k的贪吃蛇长度为k,并且奇数编号贪吃蛇需要经过奇数个转折点,偶数编号贪吃蛇需要经过偶数个转折点,然后所有贪吃蛇刚好占满这个矩阵的所有各自且不能交叉,要求你输出每条贪吃蛇的路径,不是单纯的位置题目思路:我们先构造出矩阵的大小,发现这样的一个关系: 1:1,11:1,11{1}2:1,22:1,21,2,2{1,2,2}3:2,3原创 2017-10-19 21:25:38 · 271 阅读 · 0 评论 -
hihocoder 1249 Xiongnu's Land
题目链接:A题题目大意:给你一个长宽都为k的矩阵,现在给了你一些小矩阵的绿化地带,现在要求你用平行于y轴的线分割这个矩阵为左右两部分,要求: 一、是左边的绿化地带必须大于等于右边的地带,并且两边的绿化地带必须最小 二:在满足第一条条件的情况下要求左边分割的矩阵比右边的矩阵要尽可能大题目思路:我们先找到左边的绿化地带比右边大的分割线,然后这个分割线向右边靠,如果绿化面积继续增大,就不行,输出上一条原创 2017-10-19 21:06:57 · 323 阅读 · 0 评论 -
hihocoder 1378 网络流二·最大流最小割定理
题目链接:网络流二·最大流最小割定理题目大意:给你一张有向图,算最小割,最小割集的点数个数和个数编号题目思路:跑一边最大流可以得到最小割,这个是显而易见的,要找最小割集,我们只需要最后再跑一遍BFS就好了,这个时候一定是找不到增广路的,所以这时候访问到的点就是最小割集了,记录一下就好了#include <map>#include <set>#include <cmath>#include <q原创 2017-09-05 17:02:33 · 373 阅读 · 0 评论 -
hihocoder 1425 What a Beautiful Lake
题目链接:What a Beautiful Lake题目大意:给你一个长度为n的数组长度,求环形道路的最长上升子序列或最长下降子序列题目思路:直接dp做一下就好了#include <map>#include <set>#include <cmath>#include <vector>#include <cstdio>#include <cstring>#include <cstdlib>原创 2017-09-13 21:04:36 · 462 阅读 · 0 评论 -
hihocoder 1426 What a Ridiculous Election
题目链接:What a Ridiculous Election题目大意:有三种操作: 1、交换相邻两个数 2、对某一个数位上的数,数值加一,对十求余,这个操作最多用3次 3、对某一个数位上的数,数值乘二,对十求余,这个操作最多用2次 现在问你能不能从12345变成给定的数字(五位数),能的话输出最少的操作数题目思路:BFS预处理一下,res数组记一下数字,剩余的操作2,剩余的操作3,然后模拟原创 2017-09-13 21:12:56 · 540 阅读 · 0 评论 -
hihocoder 1427 What a Simple Research
题目链接:What a Simple Research题目大意:给你包含A、C、D、E、G五个字符,现在需要你统计五个字符的数量,按从大到小的数量排序,如果数量相同,按字典序排,如果没有,不输出题目思路:写个结构体,排一下就好了#include <map>#include <set>#include <cmath>#include <vector>#include <cstdio>#inc原创 2017-09-13 21:22:15 · 494 阅读 · 0 评论 -
hihocoder 1432 JiLi Number
题目链接:JiLi Number题目大意:现在有一个范围n,现在需要你去统计这个范围内的吉利数,吉利数的定义是,这个当统计到这个数的时候数位1的数量刚好等于当前统计到的这个数字时,那么他就是吉利数,统计贡献题目思路:题目给的数据有一组是边界条件83个,打个表,统计到1e10,然后打完了82个,就好了,因为在我们可以发现1增加的速度在最后会远远超过本身的数字,所以打好边界的表就好了#include原创 2017-09-13 21:27:45 · 612 阅读 · 0 评论 -
hihocoder 1068 RMQ-ST算法
题目链接:RMQ-ST算法题目大意:给你一个区间,查询区间最小值题目思路:直接RMQ#include <map>#include <set>#include <queue>#include <stack>#include <cmath>#include <vector>#include <cstdio>#include <cstring>#include <cstdlib>#inc原创 2017-09-23 21:59:07 · 389 阅读 · 0 评论 -
hihocoder 1174 拓扑排序·一
题目链接:拓扑排序·一题目大意:有一些课程,一些课是另一些课的前置技能,问是不是所有的条件都成立题目思路:把前置条件看成一条有向路,所有的成立,只需要图中不出现环即可,拓扑排序一下,然后看是不是剩下零个点就好了#include <map>#include <set>#include <cmath>#include <queue>#include <stack>#include <vecto原创 2017-09-16 20:43:50 · 369 阅读 · 0 评论 -
hihocoder 1175 拓扑排序·二
题目链接:拓扑排序·二题目大意:有一张无环的有向图,刚开始有一些结点有病毒,他会把他所有的病毒传染到后继结点,问最后所有点的病毒总数题目思路:拓扑排序,从入度为零的结点开始,删的时候传递结点病毒数就好了#include <map>#include <set>#include <cmath>#include <queue>#i...原创 2017-09-16 20:47:19 · 362 阅读 · 0 评论 -
hihocoder 1109 最小生成树三·堆优化的Prim算法
题目链接:最小生成树三·堆优化的Prim算法题目大意:给你一张无向带权图,求最小生成树题目思路:采用堆优化的prim算法,具体算法讲解见:算法讲堂时间复杂度&&空间复杂度:O(m*logm)&&O(max(n,m))(n为点的个数,m为边的条数)#include <map>#include <set>#include &l...原创 2018-06-11 21:06:04 · 495 阅读 · 0 评论