首页 > 其他分享 >abc297F - Minimum Bounding Box 2

abc297F - Minimum Bounding Box 2

时间:2024-01-30 15:25:09浏览次数:26  
标签:Box abc297F Minimum Bounding include define

abc297F - Minimum Bounding Box 2

题意:n*m的网格,在上面随机选k个不重复的点,问能够包含这k个点的最小的矩形的面积的期望值。

我们可以考虑每个点对和的贡献,直接算并不好算,我们可以考虑哪些矩形不会包含它,就是在四个方向上选k个点(比如在横坐标小于x的点中选k个),然后有四块区域的被算了两次,减去即可。

#include<cstdio>
#include<algorithm>
#include<iostream>
#include<cstring>
#include<map>
#include<queue>
#include<bitset>
#include<cmath>
#include<set>
#include<unordered_map>
#define fo(i,a,b) for (ll (i)=(a);(i)<=(b);(i)++)
#define fd(i,b,a) for (ll (i)=(b);(i)>=(a);(i)--)
#define mk(x,y) make_pair((x),(y))
#define lc (o<<1)
#define rc ((o<<1)|1)
#define A puts("Yes")
#define B puts("No")
using namespace std;
typedef double db;
typedef long long ll;
//typedef __int128 i128;
const int N=1e6+5;
const ll inf=1ll<<60;
const ll mo=998244353;
ll n,m,k,fac[N],inv[N],t,ans,tot;
ll power(ll a,ll b){
	ll t=1,y=a;
	while (b) {
		if (b&1) t=t*y%mo;
		y=y*y%mo;
		b/=2;
	}
	return t;
}
ll C(ll n,ll m){
	if (n<m) return 0;
	return fac[n]*inv[m]%mo*inv[n-m]%mo;
}
void add(ll &x,ll y){
	x=(x+y)%mo;
}
int main()
{
//	freopen("data.in","r",stdin);
//	freopen("data.out","w",stdout);
	
	fac[0]=1;
	fo(i,1,N-1) fac[i]=fac[i-1]*i%mo;
	inv[N-1]=power(fac[N-1], mo-2);
	fd(i,N-2,0) inv[i]=inv[i+1]*(i+1ll)%mo;
	
	scanf("%lld %lld %lld",&n,&m,&k);
	
	tot=C(n*m,k);
	fo(i,1,n) fo(j,1,m) {
		t=C((i-1)*m, k)+C((n-i)*m, k)+C((j-1)*n, k)+C((m-j)*n, k);
		t-=C((i-1)*(j-1), k)+C((i-1)*(m-j),k)+C((n-i)*(j-1),k)+C((n-i)*(m-j),k);
		t=(tot-t+mo)%mo;
		
//		printf("%lld %lld %lld\n",i,j,t);
		ans=(ans+t)%mo;
	}
	
	ans=ans*power(tot, mo-2)%mo;
	printf("%lld",ans);
	return 0;
}

标签:Box,abc297F,Minimum,Bounding,include,define
From: https://www.cnblogs.com/ganking/p/17997182

相关文章

  • html 自定义 checkbox样式
    input[type=checkbox]{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:20px;height:20px;border:1pxsolid#ff6a00;background-color:white;line-height:20px;......
  • C# ComboBox、TextBox取到改变前的值
    /*存储改变前的值*/privatestringComboBox1_Beforevalue=String.Empty;privatestringTextBox1_Beforevalue=String.Empty;/*ComboBox1*/this.ComboBox1.SelectedIndexChanged+=newEventHandler(this.ComboBox1_SelectedIndexChanged);this.ComboBox1.DropDown+=......
  • 在Python的Tkinter库中,`ttk.Combobox`是一个组合框控件,它允许用户从下拉列表中选择一
    在Python的Tkinter库中,`ttk.Combobox`是一个组合框控件,它允许用户从下拉列表中选择一个选项,也可以让用户输入内容。以下是一些主要的参数和方法:1.**创建Combobox**¹²:  ```python  importtkinterastk  importtkinter.ttkasttk  root=tk.Tk()  ......
  • 在Python中,你可以使用以下代码来更改ttk.Combobox下拉框选项的文字大小¹: ```python
    在Python中,你可以使用以下代码来更改ttk.Combobox下拉框选项的文字大小¹:```pythonimporttkinterastkfromtkinterimportttkroot=tk.Tk()root.geometry('500x500')#设置所有Combobox的下拉框文字大小root.option_add("*TCombobox*Listbox.font","Arial20")combob......
  • (10)Lazarus下ListBox自画
    参考:VCL下ListBox自画,Lazarus也一样usesLCLType; ListBox的两个设置:自画事件:ListBox1DrawItemprocedureTForm1.ListBox1DrawItem(Control:TWinControl;Index:Integer;ARect:TRect;State:TOwnerDrawState);beginWithListBox1.CanvasDo......
  • 在写布局样式的时候,什么时候命名为area,什么时候为container,什么时候为wrapper,什么时
    在编写布局样式时,对于类名的选择如area、container、wrapper和box等具有语义的名称是非常重要的,它们可以帮助开发者和维护者更好地理解HTML结构与功能。以下是一些最佳实践以及何时使用这些类名的理由:container:通常用于包裹整个页面或特定区块的主要内容容器。理由:这......
  • 鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之CheckboxGroup组件
    鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之CheckboxGroup组件一、操作环境操作系统: Windows10专业版、IDE:DevEcoStudio3.1、SDK:HarmonyOS3.1+编辑二、CheckboxGroup组件提供多选框组件,通常用于某选项的打开或关闭。子组件无。接口CheckboxGroup(options?:{group?:string})创......
  • 鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Checkbox组件
    鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Checkbox组件一、操作环境操作系统: Windows10专业版、IDE:DevEcoStudio3.1、SDK:HarmonyOS3.1二、Checkbox组件提供多选框组件,通常用于某选项的打开或关闭。子组件无。接口Checkbox(options?:{name?:string,group?:string})参数参数......
  • Linux 环境下为VirtualBox安装增强功能
    VirtualBox安装CentOS后,再安装增强功能就可以共享文件夹、粘贴板以及鼠标无缝移动,主要步骤如下:1、yum-yupdate2、yum-yinstallg++gccgcc-c++makekernel-*#主要是在安装增强工具提示没有安装这些软件3、yum-yinstallbzip2*......
  • 基于Apache PDFBox的PDF数字签名
    在Java语言环境中完成数字签名主要基于itext-pdf、PDFBox两种工具,itext-pdf受商业限制,应用于商业服务中需要购买授权。PDFBox是apache基金会开源项目,基于apache2.0开源协议,不受商业限制,开发者可放心使用。以下是基于PDFBox的数字签名源码,使用该源码可使用PDFBox对PDF格式的文件进行......