洛咕 P2494 [SDOI2011]保密】的更多相关文章

出题人没素质啊,强行拼题还把题面写得又臭又长. 简单题面就是有一张图,每条边有两个权值\(t,s\),有无限支军队,一支军队可以打一个点,代价是从n到这个点的路径的\(\frac{\sum t}{\sum s}\). 有m条限制,每条限制就是a,b两个点至少选一个,求最小代价. 首先第一部分也就是要求每个点的代价,显然分数规划,随便做做就没了. 第二部分就是裸的最小割,随便做做就没了. #include<bits/stdc++.h> #define il inline #define vd v…
自闭一早上 分数规划竟然还能被卡精度 首先假设我们已经知道了到每个出入口的时间(代价) 那我们应该怎么算最小的和呢? 一个比较巧妙的想法是,由于题目规定的是二分图. 我们不妨通过最小割的形式. 表示这个基地必须从两个口之一进,从\(S\)连到奇数点,偶数点连到\(T\),流量是到这个点的时间. 然后对于每个空腔的\(u和v,(u->v,inf)\)表示这个二者至少要到一个. 那么这样跑一遍最小割,就表示经过所有空腔的最小代价. 那么现在其实问题就转化成了 如果求到一个点的时间\(a[i]\) 观…
[BZOJ2285][SDOI2011]保密(分数规划,网络流) 题面 BZOJ 洛谷 题解 首先先读懂题目到底在干什么. 发现要求的是一个比值的最小值,二分这个最小值\(k\),把边权转换成\(t-sk\),其中\(t\)是时间,\(s\)是安全系数.那么通过一遍\(SPFA\)可以求出到达所有的目标点的危险性的最小值,用\(SPFA\)是因为存在负边权.显然到达每个位置的危险性最小值是独立计算的. 因为是每个空腔都要探索其出入口中的一个,不难发现这个东西就是一个最小割(似乎是最大权闭合子图?…
洛咕3312 [SDOI2014]数表 终于独立写出一道题了...真tm开心(还是先写完题解在写的) 先无视a的限制,设\(f[i]\)表示i的约数之和 不妨设\(n<m\) \(Ans=\sum_{i=1}^n\sum_{j=1}^mf[\gcd(i,j)]\) \(Ans=\sum_{x=1}^nf[x]\sum_{i=1}^{n}\sum_{j=1}^{m}[gcd(i,j)=x]\) 莫比乌斯反演,\(Ans=\sum_{x=1}^nf[x]\sum_{x|y}\mu(\frac{y}{…
洛咕 P3700 [CQOI2017]小Q的表格 神仙题orz 首先推一下给的两个式子中的第二个 \(b\cdot F(a,a+b)=(a+b)\cdot F(a,b)\) 先简单的想,\(F(a,a+b)\)和\(F(a,b)\)会相互影响 可以换一种角度想,\(F(a,b-a)\)和\(F(a,b)\)会相互影响\((b>a)\) 那么可以从\(F(x,y)\)一路推下去 \(F(x,y)=F(x,y-x)=F(x,y-2x)=\cdots=F(x,y\mod x)\) (注意这里的\(\t…
洛咕 P2336 [SCOI2012]喵星球上的点名 先求出SA和height,一个点名串对应的就是一段区间,还有很多个点,就转化成了 有很多个区间,很多个点集,对每个区间计算和多少个点集有交,对每个点集计算和多少个区间有交. 第一个,HH的项链的树状数组做法 第二个,因为是点集所以要去重,假设点集有\(a_1,a_2,\cdots,a_k\),可以对每个区间只再覆盖的第一个点做记录 就是记录\(\sum_{i=1}^k\sum_{\texttt{interval }[l,r]}\left[l\…
洛咕 P4131 [WC2005]友好的生物 首先可以发现\(C\)是没有用的,可以乘进所有的权值里面做 考虑没有最后一维的限制,那么两个生物的友好值就是 \(\sum_{i=1}^k|a_i-b_i|\) 这个绝对值就很麻烦了. 但是可以换个思路想,既然是绝对值那么一定\(\geq 0\),所以两个生物的友好值是 \(\max\left(\sum_{i=1}^k(a_i-b_i)(-1)^{c_i}\right)\) 其中\(c\)取遍所有的01数组.正确性是显然的,因为其他的都没有答案大.…
洛咕 P4528 [CTSC2008]图腾 神题orz. 先约定abcd表示\(1\leq A<B<C<D\leq n\),而且\(y_a,y_b,y_c,y_d\)的排名正好是\(a,b,c,d\)的方案数 那么所求就是 1324-1243-1432 =(1x2x-1423)-(14xx-1423)-(12xx-1234) (其中有x的表示排名任意,但是不能重复) =1x2x-14xx-12xx+1234 =1x2x-1xxx+13xx+1234 预处理\(L,R\),\(L_i=\s…
这题太神仙了必须写博客... 显然可以想到二分答案.二分一个答案mid,如果所有长度\(\geq mid\)的路径都过x,那么答案一定\(<mid\),否则答案\(\geq mid\). 那么就可以写出代码了,树状数组套动态开点线段树即可.时间复杂度\(O(n(log_2n)^3)\) 然后因为出题人卡空间就炸了...如果256M就能过了.. #include<bits/stdc++.h> #define il inline #define vd void typedef long lo…
洛咕 P2480 [SDOI2010]古代猪文 题目是要求\(G^{\sum_{d|n}C^d_n}\). 用费马小定理\(G^{\sum_{d|n}C^d_n\text{mod 999911658}}\) 因数可以\(O(\sqrt n)\)枚举. 分解质因数,\(999911658=2×3×4679×35617\),对这4个模数用lucas跑一遍答案,用crt合并. // luogu-judger-enable-o2 #include<bits/stdc++.h> #define il i…