当前位置: 首页 > article >正文

9.29总结

这星期学了概率和组合数学

这是我觉得的一个有趣的题目,每个人身上都有n-1根绳子,如果组不成稳定三角,那么肯定有两个人相邻两根绳子颜色不一样,那么每两个这样的人就会贡献一个不稳定三角形,所以只要所有三角形减去每个人红绳乘黑绳的数量的和除二就是答案

这个也蛮有意思的,求出所有路径的长度和/所有路径的条数即是答案

通过代码:

#include<bits/stdc++.h>
#include <iomanip>
#define ll long long
#define max_int 2147483647
#define max_ll 9223372036854775807
using namespace std;
int M=998244353;
ll ksm(ll a, ll b){
    ll res = 1;
    while(b) {
        if(b & 1) //判断b的二进制在此位是否为1
            res = res * a % M;
        a = a * a % M; //下一位的a的值
        b >>= 1;
    }
    return res;
}
ll mod(ll a,ll b){
	return a * ksm(b, M - 2) % M;
}
vector<int>graph[100005];
int main() {
	ll n,m,sum=0;
	cin>>n>>m;
	vector<int>longth(n+1);
	vector<int>fananshu(n+1,1);
	vector<int>in(n+1);
	for(int i=0,u,v;i<m;++i){
		cin>>u>>v;
		graph[u].push_back(v);
		in[v]++;
	}
	queue<int>q;
	for(int i=1;i<=n;++i) if(!in[i]){
		q.push(i);
	}
	while(!q.empty()){
		int u=q.front();q.pop();
		for(int v:graph[u]){
			longth[v]+=(longth[u]+fananshu[u])%M;
			longth[v]%=M;
			fananshu[v]+=fananshu[u]%M;
			fananshu[v]%=M;
			in[v]--;
			if(!in[v])q.push(v);
		}
	}
	ll f=0,l=0;
	for(int i=1;i<=n;++i){
		f+=fananshu[i];
		f%=M;
		l+=longth[i];
		l%=M;
		//cout<<fananshu[i]<<' '<<longth[i]<<endl;
	}
	//cout<<l<<' '<<f<<endl;
	cout<<mod(l,f)<<endl;
	return 0;
}


http://www.kler.cn/a/325916.html

相关文章:

  • 游戏引擎学习第12天
  • 刘艳兵-DBA036-Oracle数据库中的触发器(Trigger)可以在以下哪种情况下自动执行?
  • 搭建Spring gateway网关微服务
  • 模糊神经网络学习方法探讨
  • Linux最深刻理解页表于物理内存
  • 杰控通过 OPCproxy 获取数据发送到服务器
  • linux 命令行删除 整个单词
  • 【QT Quick】基础语法:导入外部QML文件
  • Linux之Docker虚拟化部署
  • STM32移植RT-Thread实现DAC功能
  • Go版数据结构 -【4.1 二叉树】
  • 1688商品API接口:电商数据自动化的新引擎
  • JVM 几种经典的垃圾收集器
  • 解决跨域问题的方法
  • Linux 网络配置 (深入理解)
  • 初识C语言(四)
  • Llama 3.2——同时具备文本和图像处理功能的开源模型
  • 助力降本增效,ByteHouse打造新一代云原生数据仓库
  • 物联网(一)——CMC特刊推荐
  • 使用电子模拟器 Wokwi 运行 ESP32 示例(Arduino IDE、VSCode、ESP32C3)
  • 微信小程序如何使用自定义的字体
  • 产品管理- 互联网产品(5):运营知识与技能
  • OceanBase技术解析: 执行器中的自适应技术
  • 地图资源下载工具(geodatatool)下载 亚洲 8 米 DEM数据
  • IM开发首选:WebSocket实现分频道广播的设计思路和实现难点分析
  • 如何培养稀缺的创新能力