随笔分类 -  题解

上一页 1 2 3 4 5 6 7 8 9 10 ··· 16 下一页
摘要:思路:高精度~~$(what)$~~ 提交:2次(后来发现有种更快的写法) 题解: 设$n m$,那么显然答案为$C(n,m)$,相当于只能放$m$个棋子,可以在$n$列中选任意不同的$m$列上。 刚开始是这种解法:($3560ms$) cpp include include define ull 阅读全文
posted @ 2019-07-23 23:52 LuitaryiJack 阅读(204) 评论(0) 推荐(0)
摘要:~~用什么树状数组莫队多帅~~ 思路:树状数组$or$莫队(其实还是推荐树状数组$QwQ$) 提交:~~我告诉你我卡了一会儿常~~ 卡不满原因:没有用奇偶性排序 题解: 莫队: 就是裸的莫队,把询问排序$etc.$ cpp // luogu judger enable o2 include incl 阅读全文
posted @ 2019-07-23 21:14 LuitaryiJack 阅读(269) 评论(0) 推荐(0)
摘要:思路:悬线法$or$单调栈 提交:2次 错因:正方形面积取错了$QwQ$ 题解: 悬线法 讲解: "王知昆$dalao$的$PPT$" 详见代码: 单调栈 其实单调栈我没有写,但是教练给的标签是单调栈。。。然后稍微想了想又看了看题解$QwQ$ 以下引用自 "@luogu.org lzoi_lhy" 阅读全文
posted @ 2019-07-23 16:47 LuitaryiJack 阅读(251) 评论(0) 推荐(0)
摘要:这题咕咕了很久终于写了$QwQ$ 思路:扫? 提交:2次 错因:数据差评,第一次把矩形的长宽搞反了竟然只有一个点没有$A$。 题解: 显然能成为答案的矩形的边界一定有障碍点或者与大矩形边界重合。 细节见代码(及注释) cpp include include include define ull un 阅读全文
posted @ 2019-07-23 15:46 LuitaryiJack 阅读(234) 评论(0) 推荐(0)
摘要:这个字典序海星 思路:$DP$ 提交:4次 错因:刚开始把字典序理解错了,怒看题解一脸懵逼;后来往前跳的时候又没有管上升$QwQ$窝太菜了。 题解: 所谓的字典序是相对位置!!!而不是元素本身的大小!!! 先求出每个点往后的的最长上升子序列。 然后对于每个询问,若询问的长度$len =$最长的上升子 阅读全文
posted @ 2019-07-22 22:53 LuitaryiJack 阅读(171) 评论(0) 推荐(0)
摘要:思路:脑子(教练说是博弈论?) 提交:1次 题解: 结论:若$n$为奇数后手胜,若$n$为偶数先手胜。 大致证明: 我们发现,若我们把棋盘黑白染色并设左上角为黑色,那么显然有:若$n$为奇数,黑色格子比白色多一;若$n$为偶数,黑色格子与白色的相等。 然后很显然,如果他们 能够把所有格子都走到或少走 阅读全文
posted @ 2019-07-22 22:33 LuitaryiJack 阅读(324) 评论(0) 推荐(1)
摘要:这名字可海星$OvO$ 思路:$DP$ 提交:2次($zz$我竟然把三目运算符写错了$QwQ$) 题解: 按位进行$DP$:$f[i]$表示结尾的数字包括$1 include define ull unsigned long long define ll long long define R reg 阅读全文
posted @ 2019-07-22 22:08 LuitaryiJack 阅读(138) 评论(0) 推荐(0)
摘要:思路:无脑搜索 提交:1次 题解: 大力搜索,枚举每个状态$(x,y,l)$($x$指分配到的长(可能比$y$要短),$y$指分配到的宽(可能比$x$要长),$l$指剩余切的次数)分给左边几个蛋糕,右边几个蛋糕,从而确定下刀的位置。 cpp include include define ull un 阅读全文
posted @ 2019-07-22 19:00 LuitaryiJack 阅读(180) 评论(0) 推荐(1)
摘要:思路:堆贪心 提交:1次 题解: 先按时间$sort$,然后如果能修就直接扔堆里,不能修取堆顶比一下时间长短,把时间短的扔进堆; cpp include include include include define ull unsigned long long define ll long long 阅读全文
posted @ 2019-07-22 17:42 LuitaryiJack 阅读(172) 评论(0) 推荐(1)
摘要:思路:裸的分层图最短路 提交:1次 题解: 如思路 代码: 2019.07.22 阅读全文
posted @ 2019-07-22 15:41 LuitaryiJack 阅读(152) 评论(0) 推荐(1)
摘要:思路:并查集+倒序操作 提交:1次 题解:把正向的摧毁换成逆向的加边,用并查集维护连通块数量就好了。 2019.07.22 阅读全文
posted @ 2019-07-22 15:22 LuitaryiJack 阅读(190) 评论(0) 推荐(1)
摘要:思路:$tarjan+组合$ 提交:1次 题解: 先$tarjan$求出割点,然后按连通块的性质分类讨论: 1.若没有与割点相连,则需要两个井,防止一个坏掉。 2.若有一个割点相连,修一个井,考虑井坏了从割点跑到相邻的连通块,或者割点坏了从井逃跑。 3.若有两个割点相连,则不用修井,直接跑到相邻连通 阅读全文
posted @ 2019-07-22 12:19 LuitaryiJack 阅读(252) 评论(0) 推荐(1)
摘要:思路:哈夫曼编码 提交:1次(参考题解) 题解:类似合并果子$QwQ$ 取出前$k$小(注意如果叶子结点不满的话要补全),合并起来再扔回堆里去。 2019.07.22 阅读全文
posted @ 2019-07-22 10:41 LuitaryiJack 阅读(216) 评论(0) 推荐(1)
摘要:思路:$tarjan+DP$ 提交:1次 题解:首先对于一个强连通分量一定是一个半连通分量,并且形成的半连通分量的大小一定是它的$size$,所以我们先缩点。 这样,我们相当于要在新的$DAG$上找一个最长链(一旦有分叉边就不可能是一个半连通分量)。 于是乎写了个$dfs$,$sz[u]$表示这个( 阅读全文
posted @ 2019-07-22 09:27 LuitaryiJack 阅读(225) 评论(0) 推荐(1)
摘要:思路:并查集+生成树 提交:2次(虽然样例都没过但感觉是对的$QwQ$(判边少了一条)) 题解: 把所有点之间连边,然后$sort$一遍,从小往大加边,直到连第$n-k+1$条边(相当于是破话$k$个连通块的最短边),记录权值即为答案。 2019.07.22 阅读全文
posted @ 2019-07-22 09:12 LuitaryiJack 阅读(150) 评论(0) 推荐(1)
摘要:还好$QwQ$ 思路:矩阵快速幂 提交:1次 题解: 如图: 注意$n,m$如果小于$k$就不要快速幂了,直接算就行、。。 2019.07.21 阅读全文
posted @ 2019-07-21 23:51 LuitaryiJack 阅读(208) 评论(0) 推荐(0)
摘要:思路:贪心 提交:1次(看了题解$QwQ$) 题解: 若我方最弱可以干掉对方最弱,则干; 否则若我方最强可以干掉对方最强,则干; 否则若我方最弱与对方最强平手,则平; 其实貌似一二条是可以互换的,主要说明最后一条:相当于用最垃圾的去换掉对方最强的。 2019.07.21 阅读全文
posted @ 2019-07-21 22:47 LuitaryiJack 阅读(254) 评论(0) 推荐(1)
摘要:思路:最短路+DP 提交:1次 题解: $f[i]$表示到第$i$天的最小代价,我们可以预先处理出$i,j$两天之间(包括$i,j$)都可通行的最短路的代价记做$s[i][j]$,然后有$f[i]=min(f[i],f[j]+s[j+1][i]*(i-j)+W);$ 2019.07.21 阅读全文
posted @ 2019-07-21 20:57 LuitaryiJack 阅读(243) 评论(0) 推荐(1)
摘要:思路:矩乘优化DP 提交:3次(用了一个奇怪的东西导致常数过大) 题解: 如果可以走完正向边后又走反向边那就显然了,但是不能走,所以我们要将正反向边分别编号,区分正反向边。 所以这道题的矩阵是以边的编号(边的邻接矩阵),而非点来DP的。 具体地,记录每个边$w_i=(u_i,v_i)$和$w_{i^ 阅读全文
posted @ 2019-07-20 13:19 LuitaryiJack 阅读(221) 评论(0) 推荐(1)
摘要:思路:分块 提交:2次(第一次的求解有问题) 题解: 设块长为$T$,我们开$N/T$个单调栈,维护每一块的上升斜率。 修改时暴力重构整个块,$O(T)$ 求解时记录一个最大斜率$lst$,然后块内二分,求出能看见几个,同时更新$lst$ 时间复杂度$O(N*(T+\frac{N}{T}*log_2 阅读全文
posted @ 2019-07-20 13:02 LuitaryiJack 阅读(209) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 8 9 10 ··· 16 下一页