D. Triangle Coloring【组合数学,乘法逆元】
链接
分析
题目要求我们去求出最优的染色的方法数。首先什么时候是最优的,这里只有两种颜色,不可能取到三条边,即蓝色为B,红色为R,有BBB,RRR,BBR,RRB四种组合,显然最多的就是取两条边,我们想取到所有的最大的两条该如何求组合呢,我们将染色分成2R1B,和2B1R,两者数目相同各占一半就可以了,对于所有的三角形,我们的两种染色方法的分配总共有如下方法.
(n3n6)(\begin{matrix}\frac {n}{3}\\ \frac {n}{6}\end{matrix})(3n6n)
但是仅仅是这样还是不够的,对于这样的分配方案中,每个具体的三角形的内的染色方案还没有确定,例如如果是等边三角形,那么就可以有三种染色方案,可以保留任意两条边,根据乘法原理,对于每一种上面的三角形2R1B或者2B1R的分配方案,我们三角形内部的具体的排列方案有,我们把内部可以取的方案数记作ci,ci可以取1,2,3,看最小的边有几条
∏i=1n3ci\prod_{i=1}^{\frac{n}{3}}c_i∏i=13nci
故最终的方法数是
(n3n6)∏i=1n3ci(\begin{matrix}\frac {n}{3}\\ \frac {n}{6}\end{matrix})\prod_{i=1}^{\frac{n}{3}}c_i(3n6n)∏i=13nci
理论基础
1、乘法逆元:
众所周知,乘法逆元有三种计算方法,扩展欧几里得,费马小定理,还有递推求解。其中费马小定理最简单。对于正整数a,和质数b
ab−1modb≡1a^{b-1}mod~b\equiv 1ab−1mod b≡1
这个定理在a,b互质的时候成立,b如果是素数的时候必然成立,由于我们是在乘积运算中得到的,而且所有的运算均mod b所以a必然不可能b,所以是一定成立的。
a⋅ab−2modb≡1a·a^{b-2}mod~b\equiv 1a⋅ab−2mod b≡1
可以知晓,a^b-2是a的在模b的
利用快速幂可以得到逆元,时间复杂度是O(logb)int范围30次左右
ll po(ll rad, ll idx) {ll res = 1;while (idx) {if (idx & 1) res *= id, res %= p;rad *= rad, rad %= p;idx >>= 1; }return res;
}
ll inv(ll x) {return po(x, p - 2);
}
实现
#include <bits/stdc++.h>
#define ll long long
#define ls (p << 1)
#define rs (p << 1 | 1)
#define inf 0x3f3f3f3f
#define INF 0x3f3f3f3f3f3f3f3f
using namespace std;
typedef pair<int, int> PII;
const int N = 2e5 + 5, p = 998244353;
int vis[N];
ll po(ll rad, ll idx) {ll res = 1;while (idx) {if (idx & 1) res *= rad, res %= p;rad *= rad, rad %= p;idx >>= 1; }return res;
}
ll inv(ll x) {return po(x, p - 2);
}
void solve() {int n;cin >> n;ll x = 1, y = 1;for (int i = n / 3; i >= n / 3 - n / 6 + 1; i--) {x *= i, x %= p;//从n一直乘到n-m+1 y *= n / 3 + 1 - i, y %= p;//从1一直乘到m } ll c = x * inv(y) % p;//组合数ll ans = 1;for (int i = 0; i < n / 3; i++) {int a[3];cin >> a[0] >> a[1] >> a[2];sort(a, a + 3);ll cnt = 0;for (int j = 0; j < 3; j++) {if (a[j] == a[0]) cnt++;}ans *= cnt, ans %= p;} cout << ans * c % p << '\n';
}
int main(){ios::sync_with_stdio(false);cin.tie(0);int T = 1;
// cin >> T;while (T--) solve();return 0;
}相关文章:
D. Triangle Coloring【组合数学,乘法逆元】
链接 分析 题目要求我们去求出最优的染色的方法数。首先什么时候是最优的,这里只有两种颜色,不可能取到三条边,即蓝色为B,红色为R,有BBB,RRR,BBR,RRB四种组合,显然最多的就是取两条边,我们想取到…...
【读论文】AttentionFGAN
【读论文】AttentionFGAN介绍网络架构提取红外图像目标信息的网络辨别器损失函数生成器损失函数辨别器损失函数总结参考论文: https://ieeexplore.ieee.org/document/9103116/如有侵权请联系博主介绍 好久没有读过使用GAN来实现图像融合的论文了,正好看…...
ClickHouse 配置文件使用说明
本文主要介绍 ClickHouse 的配置文件。在 ClickHouse 中配置主要分为两类,一类是负责 server 端配置的,另一类是负责用户端配置的。负责 server 端配置的一般会放在 config.xml 文件中,负责用户端配置的一般会放在 users.xml 文件中。当然如果…...
如果不是互联网人,谁会找到这些神器?
一、上线啦 你肯定该问了,这个是什么鬼东西。它本来是一个创建自己网站的网站。 现在使用它可以创建自己的小程序,又不是有点小厉害了。 而且功能强大,还支持微信支付,分销,优惠券,营销等多种功能。 还有多…...
Neo4j优化
使用参数 查询参数 :params设置参数 :param actorName: Tom Hanks参数的冒号后要用空格使用参数用 $ MATCH (p:Person)-[:ACTED_IN]->(m:Movie) WHERE p.name $actorName RETURN m.released AS releaseDate,m.title AS title ORDER BY m.released DESC多个参数 MATCH (p:Pe…...
CF1692G 2^Sort 题解
CF1692G 2^Sort 题解题目链接字面描述题面翻译题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示思路代码实现题目 链接 https://www.luogu.com.cn/problem/CF1692G 字面描述 题面翻译 给你一个长度为 n(∑n<2⋅105)n \ (\sum n < 2\cdot 10^5)n (∑n<…...
关于物理像素,逻辑像素,像素比
关于物理像素、逻辑像素(css像素)、分辨率、像素比的超详细讲解 在日常生活中,有这样一个问题。同样的图片为什么在不同的设备上显示的大小是不一样的。🤒带着这个问题来说明一下。 一、物理像素 设备刚生产出来就已经固定了&a…...
JavaSE基础部分总结
JavaSe基础部分 文章目录JavaSe基础部分1.命名规范2.基本的数据类型3.方法3.1方法的基本格式3.2 方法的分类3.3 方法的注释4.数组4.1 数组的命名格式4.2 数组中存在的址交换的操作4.3数组Arrays常用的方法1. Arrays.asList(数组作为参数或者数据作为参数):2.Arrays.…...
C++基础知识
目录类和对象C static_cast、dynamic_cast、const_cast和reinterpret_cast1、为什么要引入这四种类型转化?2、应用场景。C/C类型转换的本质struct和class的区别为什么会诞生面向对象的编程思想析构函数的执行时机初始化 const 成员变量C const对象(常对象…...
2023/2/24 图数据库Neo4j的理解与应用
1 什么是图数据库(graph database) 十大应用案例:https://go.neo4j.com/rs/710-RRC-335/images/Neo4j-Top-Use-Cases-ZH.pdf “大数据”每年都在增长,但如今的企业领导者不仅需要管理更大规模的数据,还迫切需要从现有…...
适合视力障碍者的Linux
导读有哪些最适合视障用户的 Linux 发行版?让我们一起来看看。 如果有人视力障碍或失明,他们可能会依赖声音提示或其他交互方式(如盲文)来阅读和交流。 他们怎样才能使用 Linux 发行版? 嗯,一般来说&…...
Tina Linux 存储开发指南
Tina Linux 存储开发指南 1 概述 1.1 编写目的 介绍TinaLinux Flash,分区,文件系统等存储相关信息,指导方案的开发定制。 1.2 适用范围 Tina V3.0 及其后续版本。 1.3 相关人员 适用于TinaLinux 平台的客户及相关技术人员。 2 分区管…...
【洛谷 P2670】[NOIP2015 普及组] 扫雷游戏 题解(模拟)
[NOIP2015 普及组] 扫雷游戏 题目背景 NOIP2015 普及组 T2 题目描述 扫雷游戏是一款十分经典的单机小游戏。在 nnn 行 mmm 列的雷区中有一些格子含有地雷(称之为地雷格),其他格子不含地雷(称之为非地雷格)。玩家翻…...
【nohup引发磁盘读写高】nohup命令导致服务器磁盘读写占满该如何修复?
【写在前面】自己在跑一个项目的时候,猛然发现服务器挂了,直接访问不了,呈现出一种卡死现象,我当时都懵了,难道阿里在后端升级,也不会选择在工作日的时间升级吧,于是乎就咨询了一下客服。才有下…...
MySQL(二)索引和SQL优化
MySQL进阶MySQL体系结构存储引擎存储引擎特点InnoDB逻辑存储结构MyISAMMemory存储引擎选择索引索引结构二叉树B-TreeBTreeHash索引分类索引语法SQL性能分析工具SQL执行频率慢查询日志profile详情explain索引使用联合索引索引失效情况SQL提示覆盖索引前缀索引单列索引与联合索引…...
Java常用日期类(包含三代)_Date类及Calendar类等
一.java.util.Date类概述从JDK 1.0出现。表示一个日期和时间,精确到毫秒,内部getTime()从1970年1月1号开始算。1. java.util.Date类构造部份构造已经过时,重点看以下两个构造。public Date()从运行程序的此时此刻到时间原点经历的毫秒值&…...
计算机网络你都懂了吗
文章目录一、计算机网络的定义简单定义通用定义二、计算机网络通信过程三、什么是网络协议(Protocol)四、网络协议组成及功能一、计算机网络的定义 简单定义 计算机网络是一些相互连接的、自治的计算机系统的集合。 通用定义 将处于不同位置并具有独…...
3.4 Spring Boot 日志配置
第3章 Spring Boot 的系统配置 3.1 Spring Boot 系统配置文件 3.2 Spring Boot 自定义配置项 3.3 Spring Boot 其他配置 3.4 Spring Boot 日志配置 3.5 实战:Spring Boot 实现系统多环境配置 3.4 Spring Boot 日志配置 日志对于系统监控、故障定位非常重要…...
3款百里挑一的国产软件,逆天好用,装了就舍不得卸载
推荐3款让你偷懒,让你上头的提效电脑软件,个个功能强大,让你远离加班! 很多几个小时才能做好的事情,用上它们,只需要5分钟就行!! 1、JNPF快速开发平台 JNPF 是一款精巧耐用的软件…...
Java实现在线沟通功能
文章目录1、介绍 和 特点2、整合SpringBoot2.1、导入依赖2.2、websocket 配置类2.3、消息处理类2.4、启动服务2.5、前端代码:张三2.6、前端代码:李四3、效果4、小结1、介绍 和 特点 t-io是基于JVM的网络编程框架,和netty属同类,所…...
3步解锁Windows运行安卓应用:APK-Installer轻量解决方案
3步解锁Windows运行安卓应用:APK-Installer轻量解决方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 在数字化办公与娱乐融合的今天,安卓应用…...
Agent的决策模糊
文章目录Langchian Agent内部记忆:信息过载LLM注意力有限的解释:上下文窗口长度很大,会有这种问题么对比langGraphLangchian Agent内部记忆: 官方 ReAct 内部机制(铁律) LangChain 的 AgentExecutor 在一次 invoke () 内部&#…...
解锁Claude无限潜能:技能生态系统的构建艺术
解锁Claude无限潜能:技能生态系统的构建艺术 【免费下载链接】awesome-claude-skills A curated list of awesome Claude Skills, resources, and tools for customizing Claude AI workflows 项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-claude-s…...
船舶水动力学与运动控制技术指南:从理论建模到工程实践
船舶水动力学与运动控制技术指南:从理论建模到工程实践 【免费下载链接】FossenHandbook Handbook of Marine Craft Hydrodynamics and Motion Control is an extensive study of the latest research in marine craft hydrodynamics, guidance, navigation, and co…...
用Asian Beauty Z-Image Turbo做古风头像:简单三步生成独一无二的东方美学作品
用Asian Beauty Z-Image Turbo做古风头像:简单三步生成独一无二的东方美学作品 想象一下,你的社交媒体头像不再是一张普通的自拍或卡通形象,而是一幅充满东方韵味的古风艺术作品——可能是唐代仕女的温婉,宋代文人的儒雅…...
付费内容访问难题如何破解?开源工具的创新解决方案
付费内容访问难题如何破解?开源工具的创新解决方案 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https://gitcode.com/GitHub_Trending/by/bypass-paywalls-chrome-clean 在数字内容付费阅读日益普及的今天,如何合法合规地获取所需…...
原创:光刻机中下游质量约束框架:从底层落地破局芯片制造困局
光刻机中下游质量约束框架:从底层落地破局芯片制造困局 作者:华夏之光永存 摘要 当下国内芯片产业陷入一个普遍误区:将攻克EUV光刻机整机视为破局“卡脖子”的唯一核心,大量资源集中投入上游光刻机研发,却严重忽视中下…...
如何跨越语言盲区,让学术表达精准落地
当我们完成了精妙的实验设计,获得了宝贵的数据,准备向世界展示科研成果时,却常常在“最后一公里”遭遇阻碍。这种阻碍并非源于科研本身的深度,而是来自于语言表达的信心不足与自查盲区。你是否也有过这样的经历:对着屏…...
选择性记忆提取,把人类遗忘机制用在了RAG上,这架构真有点东西
当前大模型处理长文本面临三大瓶颈:算力爆炸:传统注意力机制随文本长度呈二次方增长(O(N)),百万级token直接OOMRAG碎片化:检索增强生成将文档切成独立片段,破坏多跳推理的逻辑链条记忆遗忘&…...
告别Swagger注解污染:用smart-doc + Maven插件5分钟生成整洁API文档(SpringBoot实战)
零侵入API文档革命:smart-doc在SpringBoot项目中的极致实践 如果你曾经被Swagger注解污染代码所困扰,或是厌倦了在业务逻辑中嵌入大量文档相关注解,那么smart-doc可能会成为你API文档管理的新选择。作为一款基于源码解析的文档生成工具&#…...
