Processing math: 100%

随笔分类 -  题解

摘要:1 tran 题意:给出一个图,求从任一位置射入光束后光束存在的最长时间与射入方向。若存在多种时间相同的,输出字典序最小的方案。 题解:比较water的大模拟,题意看对很快能想出来 CODE #include using namespace std; #define re register #def 阅读全文
posted @ 2020-11-20 17:57 3_soon 阅读(39) 评论(0) 推荐(0) 编辑
摘要:据说这题是要最小表示法做的,但我打算先朴素hash一波。 结果过了。。。 思路如下: 首先看题,发现是六元组,"6"确实不大。于是想到把雪花hash了。 对于hash值相同的一些雪花,用O((num[hash]2)(62))的时间复杂度来检查其中是否有符合条件的一组存在。(num[x]表示ha 阅读全文
posted @ 2020-06-10 21:03 3_soon 阅读(136) 评论(0) 推荐(0) 编辑
摘要:传送门 对每个点定义(u,t,0/1)为编号为u的人在t时刻是活/死。 当u在t时刻死亡,那他在t+1时刻也必然死亡,(u,1,t)->(u,1,t+1) 当u在t+1时刻活着,那他必然在t时刻也活着,(u,0,t)->(u,0,t-1) 再对两个限制条件分别连边, 限制1: (t,x,1)→(t+ 阅读全文
posted @ 2019-11-11 14:40 3_soon 阅读(191) 评论(0) 推荐(0) 编辑
摘要:传送门 题意:给一个序列a[1],a[2],a[3]...a[n],求其中连续的子序列A[L],A[L+1],...,A[R],使其权值 W(L,R)=(R-L+1)×gcd(A[L],...,A[R])最大。 思路: 简单的一个分治思想。 先想想线段树里询问怎么做的? 是不是把这个区间从中间砍开。 阅读全文
posted @ 2019-09-17 19:05 3_soon 阅读(229) 评论(0) 推荐(1) 编辑
摘要:传送门 首先分析问题,我们要求出所有的子矩形,不妨考虑以每一点为右下角的子矩形的个数,加起来正好就是总的子矩形数了。 然后考虑每一个点为左下角时的方案数,我们考虑每在它左上的点是否可以作为矩形的左上角。 如图 01111 11011 10111 10111 1111X 我们考虑以X为子矩形右下角的的 阅读全文
posted @ 2019-09-16 21:43 3_soon 阅读(141) 评论(0) 推荐(0) 编辑
摘要:传送门 老早以前做的题,出了点小锅一直没修,今天突然来了兴致 于是 修了下。。。。。。 大概就是按原顺序编号,然后把编号丢到第二个序列中,求遍逆序对(这里用树状数组求)。 而关于存人名的问题 >map 1 #include<bits/stdc++.h> 2 using namespace std; 阅读全文
posted @ 2019-09-16 21:38 3_soon 阅读(110) 评论(0) 推荐(0) 编辑
摘要:传送门 就是一道LCA的应用; 不过重点(个人观点,勿喷)在于 想到这条{最长的边最小值}的路径在MST(最小生成树)上; 想到这一点之后,基本就会了。 还有第二个小问题,怎么lca求路径最大值。 ( 思 考 空 间 ) ANS:蛮simple的,只要在跳lca的时候记录最大值就可以了。 代码: 1 阅读全文
posted @ 2019-09-15 18:33 3_soon 阅读(92) 评论(0) 推荐(0) 编辑
摘要:传送门 简单题意:给n个点m条边无向图,每次询问两个点之间是否有长度为d的路径(不一定是简单路径)。即可以重复走一条边。 思路: 蛮水的叭。我们知道路径可以重复走,所以只要找到一条和d奇偶性相同的最短路,就可以做到了。 因为可以在一条边上不停来来回回,也就是在最短路上加上了一个偶数-->偶数大小任意 阅读全文
posted @ 2019-09-15 17:52 3_soon 阅读(201) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示