Full_of_Boys训练6总结

题目来源:2014-2015 ACM-ICPC, Asia Xian Regional Contest

F. Color

第一道二项式反演。。膜题解: https://www.cnblogs.com/wmrv587/p/6681953.html

#include<bits/stdc++.h>
typedef long long ll;
const ll mod = 1e9 + 7;
using namespace std;
ll q_pow(ll a,ll b){ll ans=1;while(b){if(b&1)ans=(ans*a)%mod;a=(a*a)%mod;b>>=1;}return ans;
}
ll n,m,k,inv[1000007];
ll C(ll n,ll m){ll t=1;for(ll i=n-m+1;i<=n;++i)t=(t*i)%mod;for(ll i=1;i<=m;++i)t=(t*inv[i])%mod;return t;
}
ll a(ll x){return ((x%mod)*q_pow(x-1,n-1)%mod)%mod;}
int T,K;
int main() {scanf("%d",&T);for(int i=1;i<=1e6;++i)inv[i]=q_pow(i,mod-2);while(T--){scanf("%lld%lld%lld",&n,&m,&k);ll ans=0,w=1,Cki=1;if(k%2)w=-1;for(int i=0;i<=k;++i,w=-w){ans = (ans%mod + (w*(Cki%mod*a(i)%mod)%mod+mod)%mod)%mod;Cki=(((Cki%mod)*(k-i)%mod)*inv[i+1]%mod)%mod;}ans = (ans*C(m,k))%mod;printf("Case #%d: %lld\n",++K,ans);}
}

C. The Problem Needs 3D Arrays

将有逆序关系的点相连,题目转化为,求最大密度子图。回去复习论文。。

update:今天看了一下,马上就想起来了。。。于是写了一下。。。有点伤感。。。按论文第一种方式建二分图。。。T了?,,于是学了第二种建图。。。精度炸了?倒查了3个小时。。。inf开大了,导致大数,吞小数。。。计方老师。。。终于过了第一个样例。。。T在第二个?查了半小时。。。数组开太大了,还用的memset。。。,改掉成WA了?于是把eps调小了点。。。当我准备改long double时。过了。。。真的是好感伤。。。就读过几篇论文。。。被考到了。。。还不会。。。知道了还写炸。。。没救了。没救了。

#include <bits/stdc++.h>
#define pb(x) push_back(x)
#define LD long double
typedef long long ll;
const int maxn = 510000;
const int maxm = 2100000;
const double eps = 1e-7;
using namespace std;
double inf;
int T,n,a[111];
struct node{int x,y;node(){}node(int a,int b){x=a;y=b;}
};
vector<node> ee;
struct edge{int e,nxt;LD w;}E[maxm];
int h[maxn],cc;
void add(int u,int v,LD w){E[cc].e=v;E[cc].w=w;E[cc].nxt=h[u];h[u]=cc;++cc;E[cc].e=u;E[cc].w=0;E[cc].nxt=h[v];h[v]=cc;++cc;
}
int dd[maxn],q[maxn],st,ed;
int bfs(){int l=0,r=0;for(int i=0;i<=n+1;++i)dd[i]=0;q[r]=st;++r;dd[st]=1;while(l<r){int u=q[l];++l;for(int i=h[u];~i;i=E[i].nxt){int v=E[i].e;if(!dd[v]&&E[i].w>=eps){dd[v]=dd[u]+1;q[r]=v;++r;if(v==ed)return 1;}}}return 0;
}
LD dfs(int u,LD fl) {if(u==ed)return fl;LD s=fl,t;for(int i=h[u];~i;i=E[i].nxt){int v=E[i].e;if(dd[v]==dd[u]+1&&E[i].w>=eps&&s>=eps){t=dfs(v,min(E[i].w,s));s-=t;E[i].w-=t;E[i^1].w+=t;if(s<eps)return fl;}}if(abs(s-fl)<eps) dd[u]=0;return fl-s;
}
LD dinic(){LD ans=0;while(bfs())ans+=dfs(st,inf);return ans;
}
int m,d[111];
void build(LD  g){for(int i=0;i<=n+1;++i)h[i]=-1;cc=0;st=0;ed=n+1;inf=m*3+m*n+m+2*g+10000.0;for(int i=0;i<m;++i){add(ee[i].x,ee[i].y,1.0);add(ee[i].y,ee[i].x,1.0);}for(int i=1;i<=n;++i){add(st,i,m*1.0);add(i,ed,m*1.0+2.0*g-d[i]);}
}
LD  solve(LD  g) {build(g);return (n*m*1.0-dinic());
}
int K=0;
int main() {scanf("%d",&T);while(T--) {ee.clear();scanf("%d",&n);for(int i=1;i<=n;++i)scanf("%d",&a[i]),d[i]=0;for(int i=2;i<=n;++i)for(int j=1;j<i;++j)if(a[j]>a[i]){ee.pb(node(i,j));++d[i];++d[j];}m=ee.size();LD  l=0, r = m, mid;int tt=0;while(r-l>=eps){mid = (l+r)/2.0; LD t = solve(mid);//printf("%f %f\n",(double)mid,(double)t);if(t>eps)l=mid;else r=mid;}printf("Case #%d: %f\n",++K,(double)l);}return 0;
}
//5
//5
//3 4 2 5 1

  

转载于:https://www.cnblogs.com/RRRR-wys/p/9048819.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/320805.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

好代码是管出来的——.Net Core集成测试与数据驱动测试

软件的单元测试关注是的软件最小可执行单元是否能够正常执行&#xff0c;但是软件是由一个个最小执行单元组成的集合体&#xff0c;单元与单元之间存在着种种依赖或联系&#xff0c;所以在软件开发时仅仅确保最小单元的正确往往是不够的&#xff0c;为了保证软件能够正确运行&a…

Full_of_Boys训练7总结

题目来源&#xff1a;2016沈阳区域赛 C.Recursive sequence 矩阵快速幂&#xff0c;思路来自oldz #include <bits/stdc.h> typedef unsigned long long ll; const ll mod2147493647; using namespace std; ll A[7][7]{{1,0,0,0,0,0,0},{1,1,0,0,0,0,0},{1,2,1,0,0,0,0},{…

CF961G-Partitions【斯特林数】

正题 题目链接:https://www.luogu.com.cn/problem/CF961G 题目大意 nnn个物品分成kkk个组&#xff0c;每个物品权值为wiw_iwi​。一个子集SSS的权值为∣S∣∑x∈Swx|S|\sum_{x\in S}w_x∣S∣∑x∈S​wx​。 求所有划分方法的权值和。 解题思路 考虑对于每个数wiw_iwi​的贡献…

【高精】【快速幂】穿越丛林(ssl 2314)

穿越丛林 ssl 2314 题目大意&#xff1a; 求2n2^n2n 原题&#xff1a; 题目描述&#xff1a; ljj 是一位富有冒险心又很喜欢研究数学的孩纸&#xff0c;有一天&#xff0c;他到一个丛林冒险&#xff0c;这里的树长有像0、4、6、8、9这样形状的洞&#xff0c;他要想穿过丛…

谈谈surging引擎的tcp、http、ws协议和如何容器化部署

1、前言分布式已经成为了当前最热门的话题&#xff0c;分布式框架也百花齐放&#xff0c;群雄逐鹿。从中心化服务治理框架&#xff0c;到去中心化分布式服务框架&#xff0c;再到分布式微服务引擎&#xff0c;这都是通过技术不断积累改进而形成的结果。esb,网关&#xff0c;ngi…

2018陕西省赛K题[watermelon_planting]

题意:有一个序列a[]&#xff0c;描述的是另一个序列ans[]每个位置单位时间的增量。每个单位时间每个位置都会增加一个单位对应增量。时间总长m&#xff0c;每个单位时间包含有两种操作中的一个&#xff1a;1.询问ans[]在[l,r]区间的和&#xff1b;2.修改&#xff1a;a[]在[l,r]…

【并查集】银河英雄传说 (luogu 1196/ssl 1225)

银河英雄传说 luogu 1196 ssl 1225 题目大意&#xff1a; 有n列船&#xff0c;每列一开始有一艘船&#xff0c;可以将某一艘船所在的列所有船接到另外一列&#xff0c;然后会问某两艘船是否在一列&#xff0c;如果在那中间有多少艘船 原题&#xff1a; 题目描述 公元五八…

P4827-[国家集训队]Crash 的文明世界【树形dp,换根法,斯特林数】

正题 题目链接:https://www.luogu.com.cn/problem/P4827 题目大意 一颗nnn个点的树&#xff0c;定义dis(i,j)dis(i,j)dis(i,j)表示树上i,ji,ji,j两点的距离&#xff0c;对于每个iii求∑j1ndis(i,j)m\sum_{j1}^ndis(i,j)^mj1∑n​dis(i,j)m 解题思路 根据斯特林数的性质我们有…

Helm - Kubernetes服务编排的利器

Helm介绍在Kubernetes中部署容器云应用&#xff08;容器或微服务编排&#xff09;是一项有挑战性的工作&#xff0c;Helm就是为了简化在Kubernetes中安装部署容器云应用的一个客户端工具。通过Helm能够帮助开发者定义、安装和升级Kubernetes中的容器云应用。同时&#xff0c;也…

【DP】优美三角剖分

优美三角剖分 题目大意&#xff1a; 有一个图形&#xff0c;通过组合可以变成新的图形&#xff0c;现在要求第n个图形 原题&#xff1a; 题目描述 小X同学为了搞好和小C同学的关系&#xff0c;特意寻找了一些优美的图像作为礼物。 这是一些由无穷无尽三角形组成的极为优美…

Loj#114-k大异或和【线性基】

正题 题目链接:https://loj.ac/problem/114 题目大意 nnn个数&#xff0c;求所有非空子集的kkk小异或和。 解题思路 我们考虑处理一下线性基&#xff0c;我们知道对于did_idi​是一定在第iii位为111。 对于一个i>ji>ji>j且did_idi​的第jjj位为111时&#xff0c;我…

.NET Core微服务之基于MassTransit实现数据最终一致性(Part 1)

一、预备知识&#xff1a;数据一致性关于数据一致性的文章&#xff0c;园子里已经有很多了&#xff0c;如果你还不了解&#xff0c;那么可以通过以下的几篇文章去快速地了解了解&#xff0c;有个感性认识即可。&#xff08;1&#xff09;左正&#xff0c;《保证分布式系统数据一…

2017-2018 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2017)

D.Distinctive Character 看到样例&#xff0c;第一个反应贪心。先写了个按这一位1和0的数目多少&#xff0c;确定0还是1的东西。感觉不够真&#xff0c;又写了个尽量加到相似的比较小的串上的贪心。在和前边的那个组合一下&#xff0c;换了换顺序。。。好吧就过了13组样例。。…

【二分】买礼物的艰辛

买礼物的艰辛 题目大意&#xff1a; 有n个物品的价格&#xff0c;还有m个人&#xff0c;m个人中的每个人都要购买一定的连续物品&#xff0c;问买下n个物品&#xff0c;花钱最大的人最少花多少钱 原题&#xff1a; 题目描述 小X同学给小C同学选了N件礼物&#xff0c;决定顺…

P4449-于神之怒加强版【莫比乌斯反演】

正题 题目链接:https://www.luogu.com.cn/problem/P4449 题目大意 TTT组询问给出n,mn,mn,m求∑i1n∑j1mgcd(i,j)k\sum_{i1}^n\sum_{j1}^mgcd(i,j)^ki1∑n​j1∑m​gcd(i,j)k 解题思路 ∑i1n∑j1mgcd(i,j)k\sum_{i1}^n\sum_{j1}^mgcd(i,j)^ki1∑n​j1∑m​gcd(i,j)k ∑d1ndk∑i…

Asp.NetCoreWebApi图片上传接口(二)集成IdentityServer4授权访问(附源码)

写在前面本文地址&#xff1a;http://www.cnblogs.com/yilezhu/p/9315644.html作者&#xff1a;yilezhu上一篇关于Asp.Net Core Web Api图片上传的文章使用的是mongoDB进行图片的存储&#xff0c;文章发布后&#xff0c;张队就来了一句&#xff0c;说没有使用GridFS。的确博主只…

Codeforces40E[Number Table]

Codeforces40E[Number Table] 解法一&#xff0c;如果有一维很小&#xff0c;可以考虑状压dp之类的&#xff0c;显然非常不优秀。 解法二&#xff0c;如果n*m较小&#xff0c;可以考虑&#xff0c;设出每个位置是否为-1&#xff0c;解xor线性方程组。再bitset优化一下之类的。然…

【DP】天平问题

天平问题 解题思路&#xff1a; 有n个砝码&#xff0c;问可以称出多少种重量&#xff0c;可以在左边或者右边放&#xff0c;也可以不放 原题&#xff1a; 题目描述 小C为了试验小X&#xff0c;便为物竞的小X出了一道物理相关的题&#xff1a;现在给出n个质量的砝码&#x…

.NET Core开发日志——从ASP.NET Core Module到KestrelServer

ASP.NET Core程序现在变得如同控制台(Console)程序一般&#xff0c;同样通过Main方法启动整个应用。而Main方法要做的事情很简单&#xff0c;创建一个WebHostBuilder类&#xff0c;调用其Build方法生成一个WebHost类&#xff0c;最后启动之。实现代码一目了然&#xff1a;要想探…

BZOJ5358: [Lydsy1805月赛]口算训练

题解&#xff1a;判断d是否整除&#xff0c;可以转化为求这段区间内d的因子的指数是否均大于d中的指数。容易想到把每个数字都分解为素因子形式&#xff0c;对每个素数出现的次数求个前缀和即可。然而&#xff0c;这样时间空间都不行。注意到对于一个数x&#xff0c;小于sqrt(x…