10 2019 档案

摘要:题意: 给出一堆矩形,你要构造出一个矩形R,使能在这堆矩形上至少能造出来两个R.求R的最大面积 思路: 先对矩形的长边进行排序,然后从后向前遍历,则可以保证后面的长边肯定小于前面的长边,存下前面遇到短边最长的矩形,然后跟当前的矩形组合更新答案. cpp include define ll long 阅读全文
posted @ 2019-10-28 23:21 新新人類 阅读(257) 评论(0) 推荐(0) 编辑
摘要:Day1 热身赛,一开始题库的题和发的题面不一样,结果强行推迟curtime+1,然后调整到了电子题面与纸质题面相同才开始,然后我们队电脑疯狂掉线(十分钟拔一次网线才可以)慌得一批,然后C ac自动机不会写,B题又看不懂,只能A题测测机子,敲敲板子熟悉键盘...(本来打算用Clion,结果正赛C 阅读全文
posted @ 2019-10-21 16:26 新新人類 阅读(712) 评论(0) 推荐(1) 编辑
摘要:D 题意: 一个序列a,对每个a[i]会循环向后走,直到找到第一个$a[j\%n]a[i],这样a[j]更容易比a[i]卡,具体怎么维护看注释吧 cpp include define ll long long define pii pair using namespace std; int main 阅读全文
posted @ 2019-10-17 18:48 新新人類 阅读(188) 评论(0) 推荐(0) 编辑
摘要:cable cable cable 题意: M个灯,K个盒子,求最少要连多少条线,使任选K个盒子每个灯都能装下 思路: 每个灯要连(M K+1)个 总共M (M K+1) happy happy happy 题意: 左右取数,孩子每次都去左右两边最大的那个,父亲想让孩子赢(大于父亲)且最小化分差 思 阅读全文
posted @ 2019-10-16 21:15 新新人類 阅读(210) 评论(0) 推荐(0) 编辑
摘要:C 题意: n场比赛,总共p分,w为胜利一场的得分,d为平局的得分,求胜利,平局,失败的场数 思路: 因为d次胜利与w次平局所得的分是一样的,假如平局次数超过w次则可以将其转换成d次胜利(w d所以一定可以转化),枚举到1e5就行了... D 题意: 树上染色,共有三种颜色且所有相邻三个点颜色不能重 阅读全文
posted @ 2019-10-15 23:57 新新人類 阅读(159) 评论(0) 推荐(0) 编辑
摘要:题意: n个王子和m个公主进行匹配,王子只能和喜欢的公主配对,公主可以跟任意王子配对,问每个王子最多能配对到几个公主且选择任意的公主不会影响匹配数量 思路: 先构造出完美匹配的图,这样王子可以选择在同一个强联通分量里的公主而不会影响其他王子.(因为是二分图,强联通分量肯定有k个王子和k个公主). 为 阅读全文
posted @ 2019-10-11 18:41 新新人類 阅读(102) 评论(0) 推荐(0) 编辑
摘要:A 感觉是个画图题... 当角度过小,b和a+r构不成直角三角形时,w=bsin(th)+(a+r)cos(th),否则 w=(a+r)2+b2 cpp include define ll long long using namespace std; con 阅读全文
posted @ 2019-10-10 18:20 新新人類 阅读(241) 评论(0) 推荐(0) 编辑
摘要:题意: 给出一个多边形和一个圆,先判断多边形是否为凸多边形,在判断圆是否在多边形内 思路: 整理一下板子。 阅读全文
posted @ 2019-10-10 13:01 新新人類 阅读(178) 评论(0) 推荐(0) 编辑
摘要:题意: 每个物品有两个参数(x,y),问xixjyiyj成立的j有多少个. 思路: 二维偏序,先对x进行排序,对y离散化,从后到前循环,对点i,树状数组求当前有多少个y比y_i小的,若小于n i,则说明后面存在y比他大的,且后面的一定x比他大,所以当前这个点能贡献一次答案, 阅读全文
posted @ 2019-10-09 22:37 新新人類 阅读(429) 评论(0) 推荐(1) 编辑
摘要:点分治 因为树上的路径只有两种,经过根的和没有经过根的,所以可以以根进行分治计算. 1. 找重心. 2. 以重心为根,计算经过根的答案. 3. 分治根的每颗子树. POJ 1741 cpp include include include include define ll long long usi 阅读全文
posted @ 2019-10-06 20:01 新新人類 阅读(123) 评论(0) 推荐(0) 编辑
摘要:最小树形图 个人理解就是求指定起点的有向图的最小生成树。 算法的大概步骤如下: 1. 遍历所有边,求得一步到达点v的距离in[v]和前驱pre[v].(若除根节点外有的点不可以被到达则无解) 2. 遍历所有点v,ans+in[v] (相当于从离v最近的点走到了v),看其是否在环上(一直跑pre,能跑 阅读全文
posted @ 2019-10-06 15:51 新新人類 阅读(301) 评论(0) 推荐(0) 编辑
摘要:E 题意: 一个起点,可以将火车点割掉,问最小的代价使得起点不能到达边界. 思路: 拆点,火车点的入边到出边流量是割掉的价格,其他都是INF.最小割就是答案 cpp include define ll long long using namespace std; const int N = 45; 阅读全文
posted @ 2019-10-04 17:43 新新人類 阅读(314) 评论(0) 推荐(0) 编辑
摘要:题意: 维护一个区间,A操作表示把l,r区间上的所有线段清空,加入一条新的线段,并输入删除了多少条线段。B操作输出当前还剩多少条线段 思路: 线段树维护区间染色,因为后面的颜色不可能跟前面的颜色相同,线段树的操作就只有下放没有push_up,且维护del数组记录这个颜色是否被删除了。 cpp inc 阅读全文
posted @ 2019-10-03 21:18 新新人類 阅读(116) 评论(0) 推荐(0) 编辑
摘要:题意: 最小割 思路: 点权为1,边权无限,要把点拆为出点和入点,由于指定了源点和汇点且源点汇点不能被割掉,超级源要连源点的出点,超级汇要连汇的入点。 cpp include define ll long long using namespace std; typedef pair pii; con 阅读全文
posted @ 2019-10-03 16:44 新新人類 阅读(182) 评论(0) 推荐(0) 编辑
摘要:题意: 求两对点间最短路的最长公共路径。 思路: 一开始想求出两个最短路的路径,然后暴力求公共路径,发现最短路的路径并不是唯一的。要对s1,t1,s2,t2,求出单源最短路,对于一条边(u,v,w)能够成为s1到t1的最短路上的点,有$d[u][s1] + w + d[v][t1] == d[t1] 阅读全文
posted @ 2019-10-03 16:00 新新人類 阅读(208) 评论(0) 推荐(1) 编辑
摘要:题意: 给出一个方格取数,最多能取k次,问最多能取到多少 思路: 最大费用最大流 cpp include include include include include include include include define ll long long using namespace std; 阅读全文
posted @ 2019-10-02 17:25 新新人類 阅读(119) 评论(0) 推荐(0) 编辑
摘要:线性约束 将所有不等式化成 $d[a] d[b] include include include include define ll long long using namespace std; typedef pair pii; const int N = 1e5+10; const int in 阅读全文
posted @ 2019-10-02 11:42 新新人類 阅读(139) 评论(0) 推荐(0) 编辑
摘要:C 题意: 有两种管子(直和弯的),给出一个由这两种管子构成的n2的矩阵,问能不能通过任意调整管子的朝向使得左上角能走到右下角. 思路: 直管只能直着走,弯管必须上下都是弯管才能向前走,且要走到另外一层. 阅读全文
posted @ 2019-10-02 00:41 新新人類 阅读(283) 评论(0) 推荐(0) 编辑

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