2.18比赛(T2,T3留坑)
2.18比赛(T2,T3留坑)
pdf版题面
pdf版题解
超越一切(ak)
【题目描述】
夏洛可得到一个(h+1)×(w+1)的巧克力,这意味着她横着最多可 以切 h 刀,竖着最多可以切 w 刀 她想总共切 k 刀,每刀要么竖着切要么横着切,如果竖着切了 i 刀,横着切了 j 刀,会得到(i+1) ×(j+1)个巧克力,定义一个切 k 刀 的方案的代价是每一刀切完后巧克力个数之和,假设每刀切的位置是 随机选择的(即剩余能切的位置等概率随机选一个),请你求出期望 代价,对109+7 取模
【输入格式】
一行三个正整数 h,w,k
【输出格式】
一行一个整数表示答案
【样例 1 输入】
2 1 2
【样例 1 输出】
666666677
【数据范围】
本题有 6 个子任务,每个子任务只有 1 个测试点
对于 100%的数据,满足 h,w≤ 1018,k≤h+w
Subtask 1[10 pts]: h,w≤300
Subtask 2[10 pts]:h,w≤5000
Subtask 3[30 pts]:h,w≤106
Subtask 4[25 pts]:k≤107
Subtask 5[15 pts]:k=h+w
Subtask 6[10 pts]:无特殊限制 选手文件夹下的额外样例和最终数据范围相同
sol:题解写的非常好(大雾)
稍微解释一下,对于每一个矩形,只对它左下角的那个点记录贡献
记录的是中间的点的贡献,就是不在边界上的点,这样的点共有h*w个,每个点切中的概率就是前面那个式子
然后因为这是每个点的期望,统计答案时要乘以h*w
还有边上的点,对于最最左下角的点,k刀中每次切都会有1的贡献,所以ans+k
还有不在左下角的点,每次切都会新产生一个会造成贡献的点,ans+=(1+k)*k/2
标算已经在上面了,在贴一遍没什么意思,放一份较易理解的75pts的暴力好了
#include <bits/stdc++.h> using namespace std; typedef long long ll; inline ll read() {ll s=0;bool f=0;char ch=' ';while(!isdigit(ch)){f|=(ch=='-'); ch=getchar();}while(isdigit(ch)){s=(s<<3)+(s<<1)+(ch^48); ch=getchar();}return (f)?(-s):(s); } #define R(x) x=read() inline void write(ll x) {if(x<0){putchar('-'); x=-x;}if(x<10){putchar(x+'0'); return;}write(x/10);putchar((x%10)+'0');return; } #define W(x) write(x),putchar(' ') #define Wl(x) write(x),putchar('\n') const ll Mod=1000000007; const ll N=20000005; ll h,w,k; ll Jiec[N],Niy[N]; inline void Ad(ll &x,ll y) {x+=y;x-=(x>=Mod)?(Mod):0;return; } inline ll Ksm(ll x,ll y) {ll ans=1ll;while(y){if(y&1) ans=ans*x%Mod;x=x*x%Mod;y>>=1;}return ans%Mod; } inline ll C(ll n,ll m) {if(!Niy[m]) Niy[m]=Ksm(Jiec[m],Mod-2)%Mod;if(!Niy[n-m]) Niy[n-m]=Ksm(Jiec[n-m],Mod-2)%Mod;return Jiec[n]*Niy[m]%Mod*Niy[n-m]%Mod; } int main() {freopen("ak.in","r",stdin);freopen("ak.out","w",stdout);ll i;R(h); R(w); R(k);Jiec[0]=1ll;for(i=1;i<=h+w;i++){Jiec[i]=Jiec[i-1]*i%Mod;}ll ans=0;ll NN=Ksm(C(h+w,2ll),Mod-2)%Mod;Ad(ans,C(k + 1,3ll)*NN%Mod);ans=ans*(h*w%Mod)%Mod;Ad(ans,(((1+k)*k)>>1)%Mod);Ad(ans,k);Wl(ans);return 0; } /* input 1 2 output */
75pts暴力
附上ak王pfy的题解
转载于:https://www.cnblogs.com/gaojunonly1/p/10408956.html
2.18比赛(T2,T3留坑)相关推荐
- join控制线程的执行循序 T1 - T2 - T3
/*** 控制线程的执行循序 T1 -> T2 -> T3* join实现*/ public static void join(){Thread t1 = new Thread(() -& ...
- POJ2828 Buy Tickeys 树状数组+二分 线段树留坑。。。
题意:一堆人排队买票,告诉你一堆人的序号(序号的意思是插在"当前"第几个人的后面)和姓名(姓名用编号代替). 思路:线段树 或 树状数组+二分(自己还不会线段树,所以这里继续留坑) ...
- Python爬虫:爆破百度云提取码(留坑)
留坑预警!!貌似百度会封掉进行爆破的ip,所以暂且先不写了 贴一个调用别人接口的代码 import requests import re from requests.exceptions import ...
- CPython对象模型:string(留坑待填)
在python3中,移除了2中的byte string,string变的和2中的unicode类似.所以在python3中烦人的编码问题会少不少. 在准备动手写这一篇的时候,查了不少资料,结果不小心发 ...
- 数据中心等级T1,T2,T3,T4,T5区别,科普数据中心等级知识
谈的数据中心等级,很多人对数据中心等级划分并不了解.今天给大家普及一下数据中心等级划分. 了解更好IDC,运维,互联网商业请上我个人博客网站 https://www.serverceping.com/ ...
- 有三个线程T1,T2,T3,下面方法可以确保它们按顺序执行的有()该线程继续执行
1.先启动最后一个(T3调用T2,T2调用T1) package com.te;public class Testt {static Testt t=new Testt();class T1 exte ...
- 统计计量 | 实证研究中常犯的18个统计学错误, 避坑防雷指南!
来源:知乎 本文约2500字,建议阅读5分钟 本文为你介绍统计学中18个常见错误. 1 变量之间关系可以分为两类 函数关系:反映了事务之间某种确定性关系: 相关关系:两个变量之间存在某种依存关系,但二 ...
- 移植MT76x8 私有WIFI驱动V4.1.0.0到Openwrt 18.06所遇到的坑
Openwrt系统,路由或者IOT网关方面,市面上能供个人或者小团队甚至小企业 ,可玩性高的也就MT76xx系列路由芯片了,其中很大一部分原因主要在于MTK的WIFI驱动管控不是很严格,相对较容易获取 ...
- 常犯的18个统计学错误, 避坑防雷指南!
来源:知乎 转自:数据分析(ID : ecshujufenxi) 1 变量之间关系可以分为两类 函数关系:反映了事务之间某种确定性关系: 相关关系:两个变量之间存在某种依存关系,但二者并不是一一对应的 ...
最新文章
- 【ZJ选讲·字符串折叠】
- 误区30日谈16-20
- 英雄联盟手游主播否认部分英雄后期的作用,难道阿卡丽没未来?
- 腾讯:向今日头条开炮,只为1块钱和一声道歉!
- 转载:NPOI导出到Excel表格
- java实现多线程断点续传,上传下载
- 济南遥墙机场停5天怎么收费,济南遥墙国际机场停车场收费标准
- PHP字符串解析函数
- telegram bot : 自动下载youtube视频 发送到电报客户端
- Tomcat、Servlet、JSP、EL和JDK版本对照以及各版本Tomcat下载
- 旷视科技(Face++)和孙剑博士近期一些研究工作总结
- 汽车销售数据相关性分析
- 插图精美的html css教程
- ZeroNet搭建个人网站,一些搞笑图片
- 用python制作九宫格图片原来如此简单
- ch19.PDO。p360---练习三。通过pdo更新数据
- 移动端布局-px转vw、vh
- ExcelPatternTool: Excel表格-数据库互导工具
- PS 的常见抠图工具
- 洛谷P1004方格取数
热门文章
- python利用thinker制作多页面切换的桌面应用实例教程
- windows下环境变量配置后没生效,不重启电脑的解决办法
- html怎么给变量添加样式,通过CSS变量修改样式
- jvm类加载过程_JVM类生命周期概述:加载时机与加载过程
- 麒麟810处理器_何刚口中第二颗7nm处理器麒麟810曝光:将搭载自研NPU
- Web前端笔记-解决NicSroll使用后页面跳动(每次刷新或进入跳动一下然后正常)问题
- Python笔记-UiSelector中class定位
- Linux工作笔记-配置.bashrc或.cshrc使core文件产生(方便gdb调试)
- C++工作笔记-模版类要注意的地方(对比模版函数)
- 计算特征矩阵及哈希值(含OpenCV代码)