自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

转载 边际成本与机会成本

从理论上来讲,机会成本和边际成本应该是没有直接联系的,机会成本是一种隐性的不直接发生的成本,并且机会成本是相对的,是针对不同项目来说的,比如我做A项目而放弃B项目,所导致的如果我选B项目能够获得的收益。这不是真实发生的,所以机会成本主要是决策项目选择的时候使用。如果你已经确定了用某一个项目,机会成本也就没有用处了。而边际成本,是在你选用了一个项目之后,决策是否继续增加投入使使用的,如果边际收益也就是边际收入大于成本,从理论上讲你可以继续增加投入,直至边际收益为0,以达到最大的收益。这个边际成本随着你投入的

2021-09-14 23:23:47 1709

原创 Markdown语法手册(Typora)

Hello,Typora!目录文章目录Hello,Typora!目录标题段落字体分割线脚注列表无序列表有序列表列表嵌套列表缩进区块区块引用区块嵌套区块中使用列表列表中使用区块代码单行代码代码块链接[TOC] 自动生成目录标题使用#可表示1-6级标题# 一级标题## 二级标题### 三级标题#### 四级标题##### 五级标题###### 六级标题注意#后的空格不要忘记标题在大纲中有分层次的效果段落字体斜体 :*sth* or _sth_ or Ctrl+I黑体

2021-08-31 15:50:39 12310

原创 【NOI2018】归程

https://www.cnblogs.com/zwfymqz/p/9683523.html#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<queue>using namespace std;const int ma...

2019-01-26 20:11:30 226

原创 【NOI2018】归程

https://www.cnblogs.com/zwfymqz/p/9683523.html#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<queue>using namespace std;const int ma...

2019-01-26 20:10:32 305

转载 一元三次方程求解 (laoj1114)

一元三次方程求解 (laoj1114) 有形如:ax^3+bx^2+cx+d=0这样的一个一元三次方程。给出该方程中各项的系数(a,b,c,d均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差的绝对值>=1。要求由小到大依次在同一行输出这三个实根(根与根之间留有空格),并精确到小数点后4位。 提示:记方程f(x)=0,...

2018-08-02 00:25:51 22846

原创 归并排序

归并排序void sort(int l,int r){ if(l==r)//若只有一个数字,则无需排序 return; int mid=(l+r)>>1; sort(l,mid); sort(mid+1,r);//分治 int i=l,j=mid+1,k=l; while(i<=mid&&...

2018-07-31 11:05:14 152

原创 DFS SPFA

void spfa(int u){ if(flag) return; vis[u]=1; for(int i=head[u];i;i=e[i].next){ int v=e[i].to; if(dis[v]>dis[u]+e[i].w){ dis[v]=dis[u]+e[i].w; if(vis[

2017-12-12 13:06:22 528

原创 前向星存储方式

struct data{ int to,next,w;}e[40010];void add(int u,int v,int w){ e[++cnt].to=v; e[cnt].w=w; e[cnt].next=head[u]; head[u]=cnt;}for(int i=head[u];i;i=e[i].next){ int v=e[i].to;

2017-12-12 12:27:28 299

原创 【LCA】最近公共祖先

#include<iostream>#include<cstdio>#include<cstring>using namespace std;inline int read(){ int x=0;char ch; ch=getchar(); while(ch<'0'||ch>'9') ch=getchar(); while(ch>='0'&&ch<='9')

2017-11-11 18:20:34 206

原创 【位运算】

说明: (1)位运算符中除 ~ 外,均为二目运算符,即要求出侧各有一个运算量。 (2)运算早只能是整型或字符型的数据,不能为实型数据。i^1: 若i为偶数 i^1=i+1; 若i为奇数 i^1=i-1;(i>>k)&1: i的二进制中第k位交换: a=a^b; b=a^b; a=a^b;取反: ~某一位设置为0或1:a|=(1<<x) //x就是某位需要置1的数字,如第四

2017-11-06 13:26:59 200

转载 C++读入优化和输出优化

【转葛姐的http://www.cnblogs.com/shamman/p/7455819.html】读入优化:inline int read() { int x=0, w=1; char ch=0; while (ch<'0' || ch>'9') { if (ch=='-') w=-1; ch=getchar();

2017-11-06 13:02:02 572

原创 【数论】【中国剩余定理】解线性模方程

n个方程:x=a[i](mod m[i]) (0<=ill china(int n,int *a,int *m){ ll M=1,d,y,x=0; for(int i=0;i<n;i++) M*=m[i]; for(int i=0;i<n;i++){ ll w=M/m[i]; gcd(m[i],w,d,d,y); x=(x+y*

2017-11-03 06:41:52 190

原创 【数论】求逆元

计算模n下a的逆,如果不存在逆,返回-1#include<iostream>#include<cstdio>#define ll long longusing namespace std;ll gcd(ll a,ll b,ll &d,ll& x,ll& y){ if(!b){d=a;x=1;y=0;return x;} else{ gcd(b,a%b,d,y,

2017-11-03 06:18:45 381

原创 【数论】用类似筛法的方法计算一段欧拉函数值

#include<iostream>#include<cstdio>#include<cmath>using namespace std;const int maxn=100000;int phi[maxn];void phi_table(int n){ for(int i=2;i<=n;i++) phi[i]=0; phi[1]=1; for(int i=2;i

2017-11-03 06:04:34 204

原创 【数论】计算单个欧拉函数

#include<iostream>#include<cstdio>#include<cmath>using namespace std;int euler_phi(int n){ int m=(int)sqrt(n+0.5); int ans=n; for(int i=2;i<=m;i++){ if(n%i==0) { ans

2017-11-03 05:58:33 455

原创 【分块】

[题目](https://www.luogu.org/problemnew/show/3372)#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>using namespace std;long long n,q,a[100004],b[100004],add[100004],blo,sum[100004

2017-11-02 12:11:18 204

原创 【数学】康托展开

康托展开把一个整数X展开成如下形式:X=a[n](n-1)! + a[n-1](n-2)! +…+ a[i]*(i-1)! + … + a[2]*1! + a[1]*0! 其中a[i]为当前未出现的元素中是排在第几个(从0开始),并且0 <= a[i] < i,1 <= i <= n。康托的逆运算在1…n按字典序的排列中,求第n个序列,这就是康托的逆运算。

2017-11-02 11:55:34 239

原创 【数学】高斯消元

Laoj1387 贾老二学数学#include<iostream>#include<cstdio>using namespace std;int n;double a[104][104],ans[104];void gauss(){ for(int i=1;i<=n;i++){ if(!a[i][i]){ for(int j=i+1;j<=n

2017-11-01 13:29:53 235

原创 【数论】快速幂取模

int main(){ scanf("%lld%lld%lld",&a,&n,&m); long long s=1; while(n>0){ if(n%2) s=(a%m*s)%m; a=(a%m*a%m)%m; n/=2; } printf("%lld",s);}

2017-11-01 13:27:29 264

原创 【数位dp】B-number

#include<iostream>#include<cstdio>#include<cstring>using namespace std;int n,m,a[20],dp[20][4][20];int dfs(int pos,int sta,bool limit,int p){ if(pos==-1) return p==0&&sta==2; if(!limit &&

2017-10-31 23:42:32 266

原创 【数位dp】不要62

#include<iostream>#include<cstdio>#include<cstring>using namespace std;int n,m,a[20],dp[20][2];int dfs(int pos,int pre,int sta,bool limit){ if(pos==-1) return 1; if(!limit && dp[pos][sta]!

2017-10-31 12:24:01 245

原创 【数论】最小公倍数的二进制优化

#include<iostream>using namespace std;inline int gcd(int a,int b){ if(!a || !b) return a^b; int i=0,j=0; while(!(a&1)) a>>=1;i++; while(!(b&1)) b>>=1,j++; while(a!

2017-10-27 13:10:14 348

原创 【数论】扩展欧几里得算法

#include<iostream>#include<cstdio>using namespace std;inline void exgcd(int a,int b,int c,int &x,int &y,int &p){ if(b==0) { if(c%a==0) {x=c/a;y=0;} else p=-1; }else{

2017-10-27 13:04:05 243

原创 【数论】筛素数

int m=sqrt(n+0.5);memset(vis,0 sizeof(vis));for(int i=2;i<=m;i++){ if(!vis[i]) for(int j=i*i;j<=n;j+=i) vis[i]=1;}//vis[i]=0的数即为素数

2017-10-27 06:18:25 301

原创 【数论】最小公倍数

int gcd(int a,int b){ return b == 0 ? a : gcd(b,a%b);}

2017-10-27 06:13:56 322

原创 【暴力】枚举子集

0~n的所有子集#include<iostream>#include<cstdio>using namespace std;void print_subset(int n,int s){ for(int i=0;i<n;i++) if(s&(1<<i)) printf("%d ",i); printf("\n");}int main(){ for(int

2017-10-27 05:59:42 218

原创 【线段树】Laoj1299

#include<iostream>#include<cstdio>using namespace std;int const maxn=200001;int n,m,p,a[maxn];struct data{int l,r,val;}tr[4*maxn];void build(int k,int s,int t){//建树 tr[k].l=s;tr[k].r=t; if(s

2017-10-24 13:33:40 252

原创 【线段树】单点求值+区间修改

#include<iostream>#include<cstdio>using namespace std;int n,m,a[1000004];struct data{int l,r,val,lazy,len;}tr[2*1000004];void build(int k,int s,int t) {//建树 tr[k].l=s;tr[k].r=t;tr[k].len=t-s+1;

2017-10-24 12:59:43 341

原创 【图论】二分图最大匹配(模板+定义定理)

模板dfs:bool dfs(int k){ for(int i=1;i<=n;i++){ if(!v[i] && map[k][i]){ v[i]=1; if(link[i]=-1 || dfs(i)){ link[i]=k; return 1;

2017-10-24 12:45:02 552

原创 【线段树】区间求和+区间修改(区间加)

#include<iostream>#include<cstdio>using namespace std;int n,m,a[1000004];struct data{int l,r,val,lazy,len;}tr[1000004];void build(int k,int s,int t) {//建树 tr[k].l=s;tr[k].r=t;tr[k].len=t-s+1;

2017-10-24 01:19:50 1435

原创 【线段树】区间求和+单点修改

#include<iostream>#include<cstdio>using namespace std;int n,m,a[100004];struct data{int l,r,val;}tr[100004];void build(int k,int s,int t) {//建树 tr[k].l=s;tr[k].r=t; if(s==t) {tr[k].val=a[s];r

2017-10-23 13:30:39 395

原创 【线段树】区间求和(不带修改)

#include<iostream>#include<cstdio>using namespace std;int n,m,a[100004];struct data{int l,r,val;}tr[100004];void build(int k,int s,int t) {//建树 tr[k].l=s;tr[k].r=t; if(s==t) {tr[k].val=a[s];r

2017-10-23 13:19:00 182

原创 【线段树】 区间最大值(不带修改)

#include<iostream>#include<cstdio>using namespace std;int n,m,a[100004];struct data{int l,r,val;}tr[100004];void build(int k,int s,int t) {//建树 tr[k].l=s;tr[k].r=t; if(s==t) {tr[k].val=a[s];r

2017-10-23 13:14:33 310

原创 floyd最小环

for(int i=1;i<=m;i++){ scanf("%d%d%d",&x,&y,&z); if(a[x][y]<=z) continue; a[x][y]=z; a[y][x]=z; b[x][y]=z; b[y][x]=z;}for(int k=1;k<=n;k++){ for(int i=1;i<k;i++){

2017-09-27 12:45:49 210

转载 STL map

map的基本操作函数: C++ Maps是一种关联式容器,包含“关键字/值”对 begin() 返回指向map头部的迭代器 clear() 删除所有元素 count() 返回指定元素出现的次数 empty() 如果map为空则返回true end() 返回指向map末尾的迭代器 eq

2017-09-02 21:35:31 171

原创 memmove函数

要加cstring的头文件int x,y,z;int a[10],b[10];memmove(a+x,b+y,z); //表示b数组从第y个位置开始的z个元素复制到a数组从第x个位置开始的z个位置上 memmove的处理措施: (1)当源内存的首地址等于目标内存的首地址时,不进行任何拷贝 (2)当源内存的首地址大于目标内存的首地址时,实行正向拷贝 (3)当源内存的首地址小于

2017-09-02 21:32:06 265

原创 printf输出补零

前面补零:printf("%3d",a); //如果知道位数具体数字printf("%*d",n,a);//不知道具体数字,用*代替位数,n为保留的位数后面补零printf("%-3d",a);printf("%-*d",n,a); //加负号即可

2017-09-02 16:18:42 6500 2

原创 vijos 1565 多边形

一看,水题,直接用区间dp模板 结果直接WA了6个点QAQ发现可以是负数,max改为-0x3f3f3f3f 结果还是WA了5个点QAQ (不过以后准备都用-0x3f3f3f3f来赋值)之后看题解 我去!!!!! 乘法的特殊性!!!! 负负得正!!! 也就是max可能是从max*max转移过来的,也可能是从min*min转移过来的 同理min的也是这样代码如下#include<iost

2017-08-22 00:24:35 308

原创 区间DP模板

模板:假设要求区间[a,b]的最大/小值for(int l=1;l<=b-a+1;l++){//l枚举区间长度 for(int i=a;i<=b;i++){//i枚举区间起点 int j=i+l-1;//j为区间终点 if(j>b) break;//重要!!! for(int k=i;k<j;k++)//k为区间中的点,注意为[i,j)

2017-08-21 23:09:47 204

原创 Dilworth定理/NOIp1999拦截导弹

最少链划分数=最长反链长度eg:NOIp1999 拦截导弹第二问应用Dilworth定理最长反链长度即是最长不上升序列长度

2017-08-21 21:30:32 394

空空如也

空空如也

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

TA关注的人

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