2019icpc沈阳网络赛
时间:2019-09-14
本文章向大家介绍2019icpc沈阳网络赛,主要包括2019icpc沈阳网络赛使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
J题:
题意:给你一张大小为n的不确定的图,这个图不确定,每个点的入度和出度都为1。那么这样的图的一个特点就是肯定由若干个欧拉回路组成的。 可以得到递推公式就是n!
然后就再看它还有一个特点。要求每个点必须走不大于x条边能回到自身。。。。。。。 (n<=2*x<2e9)
我们肯定只能从反面想,把它不符合条件的都去除,因为(n<=2*x<2e9) 这个条件注定了可以这样想。。。。。。。
由于有 p(m)=c(m,n)*(m-1)!*(n-m)!/n!=1/m 所以对于每个的概率是1/i (x<i<=n)
预处理一下即可,下面是代码:
1 #include <cstdio> 2 #include <cstring> 3 #include <cmath> 4 #include <bitset> 5 #include <iostream> 6 #include <algorithm> 7 typedef long long ll; 8 using namespace std; 9 const ll mod=(ll)(1e9+7); 10 const int maxn=(int)(1e6+10); 11 ll sum[maxn]; 12 int t; 13 ll x,n; 14 15 ll fast_pow(ll a,ll b){ 16 ll res=1; 17 while(b){ 18 if(b%2==1) res=(res*a)%mod; 19 a=(a*a)%mod; 20 b=b/2; 21 } 22 return res; 23 } 24 25 void init(){ 26 sum[0]=0; 27 for(ll i=1;i<maxn;i++){ 28 sum[i]=(sum[i-1]+fast_pow(i,mod-2))%mod; 29 } 30 } 31 32 33 34 int main(){ 35 init(); 36 scanf("%d",&t); 37 while(t--){ 38 scanf("%lld%lld",&n,&x); 39 if(x>=n){ 40 printf("1\n"); 41 continue; 42 }else{ 43 ll ans1=1,ans2=1; 44 for(ll i=x+1;i<=n;i++) ans1=(ans1*i)%mod; 45 ans2=(ans1-(ans1*(sum[n]-sum[x]+2*mod))%mod+2*mod)%mod; 46 //cout<<ans1<<" "<<ans2<<endl; 47 printf("%lld\n",ans2*fast_pow(ans1,mod-2)%mod); 48 } 49 } 50 return 0; 51 }
原文地址:https://www.cnblogs.com/pandaking/p/11520485.html
- 是人工智障还是蹭热度?我一定是抱走了假的二次元老婆
- 重庆日报:丹妮拉·鲁斯认为人工智能是人类的助手
- 深度学习系列(2):前向传播和后向传播算法
- 未来5年,什么样的人最抢手
- 腾讯AI Lab俞栋:AI的发展需要合作伙伴一起AI in ALL
- NLP+2vec︱认识多种多样的2vec向量化模型
- 深度学习数据集(一)
- 将Spring Boot应用程序部署到Bluemix
- Opencv学习(一)——安装配置遇到的问题
- The .NET of Tomorrow
- 国内自动驾驶企业在美国首秀其最新L4级自动驾驶货运卡车
- Nginx源码安装及调优配置
- Greenplum 简单性能测试与分析
- CentOS6 安装couchdb2 集群
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 可读代码编写炸鸡十一 - 小黄鸭从你的心里游到脑子里
- 大数据技术之Hadoop(HDFS)第1章 HDFS概述
- Mongodb多键索引之数组
- 使用XtraBackup备份MySQL 8.0 Part 5 对全备份进行恢复
- LeetCode题目32:最长的有效括号
- C++ 万字长文第二篇---拿下字节面试
- mysqldump命令详解 Part 9 --hex-blob 参数的使用
- 使用XtraBackup备份MySQL 8.0 Part 2 XtraBackup权限及配置
- 使用XtraBackup备份MySQL 8.0 Part 6 对数据库进行增量备份
- ArrayList源码阅读笔记
- 3分钟短文 | Laravel表单验证没规则可用?你试试自定义,真香!
- 【C#】DataGridView 数据绑定的一些细节
- 3分钟短文 | Laravel 查询结果检查是不是空,5个方法你别用错!
- 使用XtraBackup备份MySQL 8.0 Part 7 对增量备份进行恢复
- 3分钟短文 | Laravel 日志全程记录 SQL 查询语句,要改写底层?