[日常摸鱼]bzoj1257余数之和】的更多相关文章

题意:输入$k,n$,求$\sum_{i=1}^n k \mod i$ $k \mod i=k-i*\lfloor \frac{k}{i} \rfloor $,$n$个$k$直接求和,后面那个东西像比较套路的分段求和 算k/(k/i)这种东西的时候还要注意判一下分母为0什么的- #include<cstdio> typedef long long lint; lint n,k,ans; inline lint min(lint a,lint b){return a<b?a:b;} inl…
题意:求$\sum_{i=1}^n \sum_{j=1}^n gcd(i,j),n<=1e10$ 之前刚好在UVA上也做过一个这样求和的题目,不过那个数据范围比较小,一开始用类似的方法 $ans=\sum_{i=1}^n \sum_{j=1}^i gcd(i,j)-\sum_{i=1}^n i$ 先考虑化简$\sum_{i=1}^n gcd(i,n)$变成好求和的形式 $$\begin{aligned} \sum_{i=1}^n gcd(i,n) &=\sum_{i=1}^n \sum_{d…
Description 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值 其中k mod i表示k除以i的余数. 例如j(5, 3)=3 mod 1 + 3 mod 2 + 3 mod 3 + 3 mod 4 + 3 mod 5=0+1+0+3+3=7 Input 输入仅一行,包含两个整数n, k. 1<=n ,k<=10^9 Output 输出仅一行,即j(n, k). Sample Input 5 3 Sample…
题意就是求最小割- 然后我们有这么一个定理(最大流-最小割定理 ): 任何一个网络图的最小割中边的容量之和等于图的最大流. (下面直接简称为最大流和最小割) 证明: 如果最大流>最小割,那把这些割边删去之后依然能找到一条增广路使得源点和汇点联通,和这些边是最小割矛盾.故最大流$\leq$最小割. 而如果最大流<最小割,可是这样通过这些割边还能有更大的流,和最大流矛盾. 综上,最大流=最小割~ 然后看看这道题-哇$n\leq 1000$,百万个点百万条边-好吧Dinic其实跑得过-而且还蛮快的-…
题意:给定$n$个点,找一个点使得这个点到所有点的距离之和最小,求出这个最小距离 传说中的模拟退火- #include<cstdio> #include<ctime> #include<cmath> #include<cstdlib> const int N=105; struct point { double x,y; }ps[N]; int n; double t,ans,tans,tx,ty,nx,ny,temp; inline double get(…
本篇文章是Hash在信息学竞赛中的应用的学习笔记,分多次更新(已经有很多坑了) 一维递推 首先是Rabin-Karp,对于一个长度为\(m\)的串\(S\) \(f(S)=\sum_{i=1}^{m}s[i]*p^{m-i} \mod q\) 那么在一个长度为\(n\)的文本串中找长度为\(m\)的子串,设该子串的首位下标为\(i\) \(f(S_i)=\sum_{j=i}^{m+i-1}s[j]*p^{(m+i-1)-j} \mod q\) \(f(S_{i+1})=\sum_{j=i+1}^…
模板题~ QAQ话说Simpson法的原理我还是不太懂-如果有懂的dalao麻烦告诉我~ 题意:每次给一个椭圆的标准方程,求夹在直线$x=l$和$x=r$之间的面积 Simpson法 (好像有时候也被叫Simpson公式,Simpson积分什么的-看到这里的人应该都知道这个是用来干嘛的吧) 对一段小区间$[l,r]$取奇数个点,然后把区间平均分成$n$段:$x_0,x_1,x_2, \cdots,x_n$,每段长度$\Delta x$,那么: $\int_l^r f(x) dx \approx…
方格取数的升级版,每个格子最多取一次. $k=1$的话就是个普及组的dp题,$k=2$就是在之前的基础上多加两维. 然而现在$k$太大了当然就不dp啦 对于$k=1$的情况我们还可以把$(i,j)$向$(i+1,j),(i,j+1)$连边然后答案就是跑最长路,而对于更大的情况我们的瓶颈在于直接跑最长路不能限制每个点只取一次. 对于点来说没有什么好的方法我们就把问题转移到边上:把每个点拆成一条边.具体的说就是把一个点拆成两个点,把点权变成边权,而我们又要限制这样子的每条边最多走一次,这里就有点费用…
题面 应该是二分图匹配,不过我写的是网络最大流. dinic求二分图最大匹配:加个源点和汇点,源点连向二分图的一边所有点,二分图的另一边所有点连向汇点,很明显这样得到的最大流就是这个二分图的最大匹配. #include<cstdio> #include<algorithm> #define rep(i,n) for(register int i=1;i<=n;i++) #define REP(i,a,b) for(register int i=a;i<=b;i++) u…
还有两天就要去FJWC啦- 题意:一颗无根树,$k$为给定常数,求树上距离不超过$k$的点对的数量,多组数据,$n \leq 10^4$. 应该是点分治经典题~ 一般对于无根树我们都可以把它转变成有根树(其实树上路径不管哪个根都一样嘛),假设我们已经钦定了一个根$rot$(后面会说其实这个根应该是重心),对于$rot$这颗树中的对答案有贡献的路径,要么经过$rot$,要么直接就是$rot$的某一颗子树的答案,这两种情况之间没有交集直接相加,这里就出现了子问题. 而对于经过$rot$的路径的贡献,…