自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Freopen的博客

自娱自乐之地

  • 博客(44)
  • 资源 (1)
  • 收藏
  • 关注

原创 BZOJ 4659: Lcm

给出A,B,考虑所有满足l<=a<=A,l<=b<=B,且不存在n>1使得n^2同时整除a和b的有序数对(a,b),求其lcm(a,b)之和。答案模2^30。ans =sigma(a,b,|mu[gcd(a,b)]| * a * b / gcd(a,b))= sigma(d , |mu[d]| * d * sigma(a,b,[gcd(a,b)==1] * a...

2018-11-29 22:22:25 169

原创 BZOJ 2693 jzptab

#include<bits/stdc++.h>#define mod 100000009#define maxn 10000000using namespace std;/*sigma(i,j,i*j/gcd(i,j))=sigma(d,i,j,[gcd(i,j) == 1] * d * i * j)=sigma(d,d * sigma(i,j,[gcd(i,j)==1]...

2018-11-28 22:34:37 145

原创 bzoj3701 Olympic Games

Codeforces要举办一场计算机比赛,主办方将所有人安排在一个nm的网格图的点上(也就是总共有(n+1)(m+1)个人参加了本次比赛),然后主办方给每个人都配备了一台计算机(也就是说n*m的网格图的每个格点上都有一台计算机,计算机的体积忽略不计)。但是主办方由于没钱或者是其它原因,不能给计算机配备挡板(主办方:能准备这么多台计算机就不错了),因此一些人就可以直接看到别人的计算机屏幕(当然肯...

2018-11-28 22:16:02 206

原创 莫比乌斯反演

公式:其中 为莫比乌斯函数,定义如下:(1)若 则(2)若 , 为互异素数,那么(3)其它情况下这个定义其实就是一个容斥原理给每个F(n)加上容斥系数然后容斥。容斥系数满足:证明:①当 时显然②当 时,将 分解可以得到在 的所有因子中, 值不为零的只有所有质因子次数都为1...

2018-11-24 12:13:51 109

原创 伯努利数与自然数幂和

自然数幂和的伯努利数做法是对于指数型母函数的精彩应用。普通的母函数是因为对于等比数列的研究可以迁移到幂级数上,从而拓展生成函数的运算而简化运算,一般化数列的运算。指数型母函数是将泰勒展开的研究迁移到幂/阶乘级数(???)而规定生成函数的运算,从而达到描述数列运算的目的。这个证明很简洁...

2018-11-22 22:37:30 1331

原创 斯特林数

第一类斯特林数:S(n,m)表示n个元素放入m个圆排列的方案数。S(n,m) = S(n-1,m-1) + (n-1) * S(n-1,m).从递推式可以发现:这个递推式还可以看作进行n次操作,其中第i次操作有i−1种方案不取物品,有1种方案取一个新物品,最后取得k个物品的方案数。x * (x+1) * (x+2) … * (x+n-1)的 x^k的系数就是 S(n,k).可以用分治...

2018-11-21 17:37:45 224

原创 NOIP2018 游记

思来想去,还是游记比较适合吧。Day1:T1 :学习**F贪心就是了,数组都不用开。#include<cstdio>#include<cstring>#include<cctype>#include<algorithm>#define LL long longusing namespace std;int n;LL ans ...

2018-11-11 14:43:44 976

原创 区间修改区间查询树状数组

对于一个数组b,用树状数组,我们可以单点修改区间查询它的前缀和数组c。对于一个数组b,用树状数组,我们可以通过维护它的差分数组a来区间修改单点查询。现在有b的前缀和数组c。我们如果要区间修改区间查询。那么就探寻a和c的关系就行了。发现每个a[i]会对每个i<=j的b[j]转移一次,每个b[i]会对每个i<=j的c[j]转移一次。然后会发现a[i]通过b[k] (i<...

2018-11-09 08:06:27 409

转载 C++中template的用法(转载)

**类模板与函数模板的定义和使用类似。有时,有两个或多个类,其功能是相同的,仅仅是数据类型不同,如下面语句声明了一个类:class Compare_int{public :Compare(int a,int b){x=a;y=b;}int max( ){return (x>y)?x:y;}int min( ){return (x<y)?x:y;}pr...

2018-11-09 08:06:07 9330

原创 「NOIP2016」天天爱跑步

小 C 同学认为跑步非常有趣,于是决定制作一款叫做《天天爱跑步》的游戏。《天天爱跑步》是一个养成类游戏,需要玩家每天按时上线,完成打卡任务。这个游戏的地图可以看作一棵包含 spanclass="katex">n n n 个结点和 n−1 n - 1 n−1 条边的树,每条边连接两个结点,且任意两个结点存在一条路径互相可达。树上结点编号为从 1 1 1 到 n n n 的连续正整数。现在有 ...

2018-11-07 11:34:22 25758

原创 NOIP2017列队

Sylvia 是一个热爱学习的女♂孩子。前段时间,Sylvia 参加了学校的军训。众所周知,军训的时候需要站方阵。Sylvia 所在的方阵中有名学生,方阵的行数为 n,列数为 m。为了便于管理,教官在训练开始时,按照从前到后,从左到右的顺序给方阵中 的学生从 1 到 编上了号码(参见后面的样例)。即:初始时,第 i行第 j列 的学生的编号是。然而在练习方阵的时候,经常会有学生因为各种各样...

2018-11-07 09:17:38 634 2

原创 #6039. 「雅礼集训 2017 Day5」珠宝

题目描述Miranda 准备去市里最有名的珠宝展览会,展览会有可以购买珠宝,但可惜的是只能现金支付,Miranda 十分纠结究竟要带多少的现金,假如现金带多了,就会比较危险,假如带少了,看到想买的右买不到。展览中总共有 N 种珠宝,每种珠宝都只有一个,对于第 i 种珠宝,它的售价为 Ci​ 万元,对 Miranda 的吸引力为 Vi​ 。Miranda 总共可以从银行中取出 K万元,现在她想...

2018-11-06 19:45:39 915

原创 决策单调性优化

决策单调性是对于一些dp式子,比如说ans[i] = max(a[j] + sqrt(i-j)) (j < i)如果在一个i满足a[j] + sqrt(i-j) < a[k] + sqrt(i - k)且j<k,那么可以发现在i变大的时候j也一定会比k劣,没有优于k的可能。但是对于这个决策单调性的利用方式却很多。1.四边形不等式优化二维dp,利用dp[i][j-1]的决策点...

2018-11-06 17:38:10 4244

原创 平衡树Splay

文艺平衡树#include<cstdio>#include<cstring>#include<cctype>#include<algorithm>#define maxn 100005using namespace std;int n,m;int ch[maxn][2],fa[maxn],siz[m

2018-11-05 08:57:11 157

原创 lower_bound、upper_bound

#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int a[20]={1,2,3,4,5,6,7};int main(){ printf("%d %d\n",*lower_bound(a,a+7,3),*uppe

2018-11-05 08:57:05 82

原创 三分查找

洛谷P3382 【模板】三分法#include<cstdio>#define db doubleusing namespace std;const db eps=1e-6;int n;db a[15],L,R,mid1,mid2,k;db f(db x){ db S=0; for(int i=n;i>=0;i--) S=S*x+a[i]; re...

2018-11-05 08:56:50 618

原创 二分查找

#include<cstdio>#include<cstring>#include<cctype>#include<algorithm>#define eps 1e-6using namespace std;int n;double l,r,a[20],b[20]; double cal(

2018-11-05 08:56:47 117

原创 桶排序

for(i=0;i<m;i++) c[i] = 0; for(i=0;i<n;i++) c[x[i] = s[i]]++; for(i=1;i<m;i++) c[i] += c[i-1]; for(i=n-1;i>=0;i--) sa[--c[x[i]]] = i;s代表待排数组,sa代表排序后的排名数组m为值域...

2018-11-05 08:56:27 86

原创 求逆序对

#include<cstdio>int a[500001],New[500001],n;long long ans;int getint(){ int ans=0,flag=0; char c; while(1){ c=getchar(); if(c<='9'&&c>='0')

2018-11-05 08:55:48 98

原创 求叉积

求任意多边形的面积#include<cstdio>#include<cstring>#include<cctype>#include<cmath>#include<algorithm>#define maxn 105using namespace std;

2018-11-05 08:55:29 526

原创 SET的完整用法

SET的第一行模板源码是这样的: template<typename _Key, typename _Compare = std::less<_Key>, typename _Alloc = std::allocator<_Key> >根据template和English的有关知识,我们可以知道set的定义

2018-11-05 08:55:14 2159 1

原创 MAP的完整用法

1.什么也不知道的像数组一样用。map<_Key,_Tp,cmp>mpmp[_Key]返回_Tp的地址。2.用insert(pair<,>),你会发现map就是一个set<pair<int,int> >重载了[]符号而已。3.注意count()返回的是0或14.multimap更倾向于描述一个A到B的映射,但是A中

2018-11-05 08:55:10 128

原创 优先队列的完整用法

template<typename _Tp, typename _Sequence = vector<_Tp>, typename _Compare = less<typename _Sequence::value_type> >定义方式就是这样。priority_queue<type,vector,cmp&gt

2018-11-05 08:55:05 182

原创 读入优化

namespace IO{ #define BUF_SIZE 100000 #define OUT_SIZE 100000 #define ll long long //fread->read bool IOerror=0; inline char nc(){ static char buf[BUF_SIZE]...

2018-11-04 17:07:32 118

转载 O(N^2)求最长上升公共子序列

#include<iostream>#include<cstdio>#define MAXN 4000using namespace std; int main(){ int len; while(~scanf("%d",&len)) { int arr[MAXN]; int length[MAXN]; for(int i=0;i&...

2018-11-04 17:05:41 106

原创 O(NlogN)求最长上升子序列

#include<cstdio>#include<algorithm>#include<cstring>#define maxn 200005using namespace std; int n,a[maxn],sta[maxn],tp,cnt; int main(){ scanf("%d",&n); for(int i=...

2018-11-04 17:03:31 315

原创 树上背包写法(选课)

#include<cstdio>#include<algorithm>#include<cstring>#define maxn 305using namespace std;int n,m,Fa[maxn],Son[maxn][maxn],Cnt[maxn],Sc[maxn],f[maxn][maxn];void dfs(int now,int...

2018-11-04 17:02:22 280

原创 DP的斜率优化

HDU - 3507#include<cstdio>#include<cstring>#include<cctype>#include<algorithm>#define maxn 1000005using namespace std;int dp[maxn];int sta[maxn];int h=0,t=0;int n,m...

2018-11-04 17:01:28 122

原创 DP的平行四边形优化

Luogu P4767 [IOI2000]邮局#include <bits/stdc++.h>using namespace std;int n,m,a[3005],mk[3005][3005];long long dp[305][3005],w[3005][3005];int main (){ scanf("%d%d",&n,&m); fo...

2018-11-04 16:58:48 514

原创 A*

Luogu P2483 【模板】k短路([SDOI2010]魔法猪学院)#include <cstdio>#include <cmath>#include <cstring>#include <iostream>#include <queue>#include <algorithm>using namespace...

2018-11-04 16:56:45 121

原创 ID搜索

埃及分数#include<cstdio>#include<algorithm>#include<cstring>#include<vector>#include<set>#include<cmath>using namespace std;int a,b,k,depth;vector<int>t

2018-11-04 16:51:58 986

原创 二维背包+列出物品选择

#include<cstdio>#include<algorithm>using namespace std;int n,a[1001],f[1001][10001],s,v[1001],Max;void print(int sum,int x){ if(x==0||sum==0) return; if(f[sum-1][x]==f[sum][x]) print...

2018-11-04 16:49:54 317

原创 NOI.AC 运气大战

运气大战你的班上n个同学要去参加一项集体比赛。每个人有实力值和运气值。每个人的实力值是确定的,但是运气值是飘忽不定的。一个人的发挥是他的实力值wi和运气值的乘积,即wi⋅rci。班级的发挥是所有人发挥之和。每个人有一个初始运气值ri,但是每次比赛的时候,每个人的运气值是所有人运气值的一个排列,并且要满足,排列之后ii的运气值不是ri。即满足,ii的运气值是rci,{ci}是1−n1−n的排列,且...

2018-11-03 16:52:09 441 2

原创 哈希和双哈希

哈希自然溢出#include<cstdio>#include<cstring>#include<algorithm>#include<set>#define LL long long#define maxn 10005#define S 131using namespace std;int n;char s[maxn];set...

2018-11-03 08:21:01 726

原创 线段树

维护序列seq#include<cstdio> #include<cctype> #include<algorithm> #define maxn 100005 #define ld now<<1 #define rd ld|1 using namespace std; int l,r,n,br,bl,q,now,p,a,c; lo...

2018-11-02 23:26:48 70

原创 树状数组

来个复杂点的,二维区间修改区间查询BIT#include<cstdio>#include<cctype>#define maxn 2050#define lowbit(a) a&(-a)int n,m,e,f,g,h,delta;char alpha;void get(int &num){ num=0; char ch;bool flag...

2018-11-02 23:25:36 60

原创 堆排序

#include<bits/stdc++.h>using namespace std; const int MAXN = 100000; int Get() { int res = 0; char c; while((c = getchar()) != EOF && !isdigit(c)); if(c == EOF) ...

2018-11-02 23:23:41 72

原创 拓扑排序

洛谷P1113杂物#include<cstdio>#include<algorithm>#include<queue>#define maxn 100005#define maxm 1000005using namespace std;int n,m;int in[maxn],dis[maxn],tim[maxn];int info[maxn...

2018-11-02 23:18:56 69

原创 欧拉回路

骑马修栅栏 Riding the Fences#include<bits/stdc++.h>#define maxn 1100using namespace std;int n,usd[maxn],in[maxn];bool vis[maxn][maxn];multiset<int>G[maxn];stack<int>sta;void dfs...

2018-11-02 22:32:12 456

原创 k短路算法

无重点#include<bits/stdc++.h>#define maxn 505using namespace std;int info[maxn],Prev[20005],to[20005],cst[20005],cnt_e;inline void Node(int u,int v,int ct){ Prev[++cnt_e]=info[u],info[u]=cnt_...

2018-11-02 17:41:37 405

LemonPlus版

啊这。lemon是一款很不错的测试软件,使用简单的同时模拟了竞赛测试的环境,并且可以兼容linux,OIer可以下载使用试一试。

2020-05-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除