Processing math: 73%

11 2018 档案

摘要:link 其实网络流就是再考你如何去建边。 先见S,T为源点与汇点,然后将S连向每一个单位,流量为每个单位的人数,然后将每一个单位连向每一个餐桌,流量为1,最后在将每一个餐桌与T相连,流量为每个餐桌容量,然后跑一边Dinic最大流就行,只需要优化一点点,每次dfs增广多条 阅读全文
posted @ 2018-11-30 16:13 siruiyang_sry 阅读(140) 评论(0) 推荐(0) 编辑
摘要:link 其实就是一道二分图匹配板子,我们建立S,T为源点与汇点,然后分别将S连向所有正驾驶员,边权为1,然后将副驾驶员与T相连,边权为1,将数据中给出的(a,b),将a连向b,边权为1,然后把反向边记好以后就跑一遍最大流就行 #include<iostrea 阅读全文
posted @ 2018-11-30 15:59 siruiyang_sry 阅读(150) 评论(0) 推荐(0) 编辑
摘要:笔记--最大流 EK Dinic EK: 运用反向边可以给当前图一次反悔的机会,就是其实现在的增广路并不是最优的,然后就bfs找增广路即可 Dicnic: 我们发现其实每一次先bfs一下分层,然后dfs会更快一些,这就是Dinic的思想 然后优化此算法: 发现每一次可 阅读全文
posted @ 2018-11-30 15:56 siruiyang_sry 阅读(130) 评论(0) 推荐(0) 编辑
摘要:link 设颜色为i的个数为ai 我们可以发现[l,r]里面的答案为 xi=1ai×(ai1)xi=1ai 化简得 $\frac{\sum_{i=1}^x a_i^2-(r-l+1)}{(r-l+1)\t 阅读全文
posted @ 2018-11-29 21:49 siruiyang_sry 阅读(115) 评论(0) 推荐(0) 编辑
摘要:link 第一次写可持久化线段树,可以很明显的想到二分一个美味度,因为很明显此题具有单调性。 然后就可以随便乱搞了,按照美味度排序,然后按照每升价格建一个可持久化线段树,然后主要是check函数 当我们要判断一个美味度是否可行的时候,我们先可以将其下标得到,然后贪心去先选择价格最小的,然后就是个模拟 阅读全文
posted @ 2018-11-24 16:46 siruiyang_sry 阅读(259) 评论(2) 推荐(0) 编辑
摘要:第一次考NOIP的我已经自闭了 CCF告诉我们了一件事情,要对自己写的程序有信仰,相信CCF的数据是水的 普及组: 分数:100+100+30+100=330 1.titile: cin,scanf都试了试,却没有A掉第二个样例,最后getchar()5次$A 阅读全文
posted @ 2018-11-14 20:40 siruiyang_sry 阅读(400) 评论(6) 推荐(2) 编辑
摘要:题目 官方题解 T1: 单调栈,单调队列因为认为考场上会写崩所以写了一个十分暴力的方法(线段树) 然后做一做区间覆盖即可 #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #include<algorithm> 阅读全文
posted @ 2018-11-07 10:10 siruiyang_sry 阅读(143) 评论(0) 推荐(0) 编辑
摘要:题目 官方题解 T1: 一道水题 #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #include<algorithm> #include<stack> using namespace std; inline 阅读全文
posted @ 2018-11-06 13:02 siruiyang_sry 阅读(107) 评论(0) 推荐(0) 编辑
摘要:题目 官方题解 T1: 我们可以把问题化简为a×b×cn中的有序(a,b,c)有多少组。分三种情况考虑 当a=b=c时,答案十分好统计 当a<b<c时,统计完答案×6a=b and a<c时,答案×3 阅读全文
posted @ 2018-11-06 12:55 siruiyang_sry 阅读(117) 评论(0) 推荐(0) 编辑
摘要:题目pdf 官方题解 T1: 我们可以发现此题若要求[L,R]区间的答案,其实就是再求前缀和,我们设b为当前出现次数最多的字符,c为最小,所以答案为s[b]rs[c]r(s[b]l1s[c]l1),其实我们可以用一个数组minv[b][c]记录这个式子$ 阅读全文
posted @ 2018-11-06 09:54 siruiyang_sry 阅读(143) 评论(0) 推荐(0) 编辑
摘要:link 我们可以很容易的推断出1是单调不降的,若i>ja_ia_j都没有填数,若填完之后a_i>a_j或者a_i<a_j,则对答案产生影响的只在[i,j]之间,则a_i<a_j对答案产生的贡献更小,则其实每个不同位置的-1其实是互不影响的,所以就可以用$d 阅读全文
posted @ 2018-11-05 09:45 siruiyang_sry 阅读(212) 评论(0) 推荐(0) 编辑
摘要:题目 这是NOIP模拟赛( ) T1: 想的太复杂了,开头1个小时认为此题不可做,所以到最后也懒得打O(n)的方法,只打了O(n^2)的东西 我的做法: 先把数据的图建出来,然后查看对于每个列是否没产生矛盾 #include<iostream> #include<cstring> # 阅读全文
posted @ 2018-11-03 15:51 siruiyang_sry 阅读(170) 评论(0) 推荐(0) 编辑
摘要:题目 题解 T1: 简单bfs或者跑个最短路即可 #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #include<queue> #include<algorithm> using namespace s 阅读全文
posted @ 2018-11-02 19:29 siruiyang_sry 阅读(198) 评论(0) 推荐(0) 编辑
摘要:主要是怎么处理矛盾 矛盾的条件有2种: 第一种是当把所有相等的a都全部找到后,他们并没有全联通,所以矛盾,因为没有两个是相同的 第二种是在2组(l,r,a),(l1,r1,a1)中,a<a1并且(l,r) 包含在(l1,r1),矛盾 所以怎么去维护,第一种直接暴力查询,第 阅读全文
posted @ 2018-11-01 16:26 siruiyang_sry 阅读(167) 评论(0) 推荐(0) 编辑

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