首页 > 其他分享 >24.10.15

24.10.15

时间:2024-10-15 17:27:03浏览次数:1  
标签:选点 15 val siz rep 24.10 贡献 mod

谁家好人往 NOIp 模拟赛里塞 CF *3500 啊。

A

考察 \(x\) 与 \(< x\) 的点的连边。

\[\begin{aligned} &x | (y + n)\\ &kx = y + n\\ &y = kx - n\\ &\because 0<y<x \le n\\ &\therefore y 只有 1 个\\ \Rightarrow &k = \left\lceil\frac{n}{x}\right\rceil, y = \left\lceil\frac{n}{x}\right\rceil x -n \end{aligned} \]

也就是构成了森林的结构,求两个点的距离直接暴力跳父亲找 LCA,由于保证数据随机所以每次期望减半。

B

\(m\) 个点去匹配考虑给 \(m\) 全排列,前面的点的所有边权严格大于后面的点,然后每个点从前往后匹配。

然后以 \(O(m!m^2)\) 的复杂度解决了,有点极限但能过。

C

/**
 * 拆贡献, 每个点集选一个贡献 (+val[i]) 剩下的不贡献 (+1)
 * 
 * "取" 指放到点集里
 * f[x][a][b] 表示 x 子树内 有 a 个未取且不贡献(1), 有 b 个点未取且贡献(val) 的权值和
 * g,h 第一维 表示根 是否钦定为 lca, 是否贡献 的权值和
 * 0 : 00
 * 1 : 01
 * 2 : 10
 * 3 : 11
 * 4 : 维护 2 的转移, 存子树内不贡献点各方案权值和
 */

方程:

memset(g, 0, sizeof g);
g[0][0][0] = 1; g[1][0][0] = val[x];
g[2][0][0] = 0; g[3][0][0] = val[x];
g[4][0][0] = 1;
redg(i, e, x, y) if (y != fa) {
	memcpy(h, g, sizeof h);
	memset(g, 0, sizeof g);
	rep(a, 0, siz[x]) rep(b, 0, siz[x] - a)
		rep(c, 0, siz[y]) rep(d, 0, siz[y] - c) {
			// 选不了点
			(g[0][a + c][b + d] += h[0][a][b] * f[y][c][d] % mod) %= mod;
			(g[1][a + c][b + d] += h[1][a][b] * f[y][c][d] % mod) %= mod;

			// 不选点
			(g[2][a + c][b + d] += h[2][a][b] * f[y][c][d] % mod) %= mod;
			// 选不贡献点
			if (c) (g[2][a + c - 1][b + d] += h[2][a][b] * f[y][c][d] % mod * c % mod) %= mod;
			// 选贡献点 (每个集合选一个点贡献, 从 4 转移)
			if (d) (g[2][a + c][b + d - 1] += h[4][a][b] * f[y][c][d] % mod * d % mod) %= mod;

			// 不选点
			(g[3][a + c][b + d] += h[3][a][b] * f[y][c][d] % mod) %= mod;
			// 选不贡献点
			if (c) (g[3][a + c - 1][b + d] += h[3][a][b] * f[y][c][d] % mod * c % mod) %= mod;

			// 不选点
			(g[4][a + c][b + d] += h[4][a][b] * f[y][c][d] % mod) %= mod;
			// 选不贡献点
			if (c) (g[4][a + c - 1][b + d] += h[4][a][b] * f[y][c][d] % mod * c % mod) %= mod;
		}
	siz[x] += siz[y];
}
rep(a, 0, siz[x]) rep(b, 0, siz[x])
	(f[x][a + 1][b] += g[0][a][b]) %= mod,
	(f[x][a][b + 1] += g[1][a][b]) %= mod,
	(f[x][a][b] += g[2][a][b]) %= mod,
	(f[x][a][b] += g[3][a][b]) %= mod;

D

CF *3500

fun fact:题解放上去的是洛谷第二篇题解,但是 std 是洛谷第一篇题解。

哦对了改不动不改了。

标签:选点,15,val,siz,rep,24.10,贡献,mod
From: https://www.cnblogs.com/KinNa-Sky/p/18467984

相关文章

  • 24.10.14
    A只关心整数?记\(All\)为全局和,\(sum\)为矩阵和。\(\dfrac{sum}{All-sum}=k\),\(sum=\dfrac{k}{k+1}All\)。所以可能的矩阵和有约数个数个(一般取三次根号量级),然后枚举\(x_1,x_2\),从左往右扫\(y\),记录前缀和出现次数算答案。B啊?这么近的原?24.10.10A数据范围......
  • 10.15
    一、测试思维的练习面试题:(1)你说下淘宝购物车的测试点?(2)给你二维码你会怎么去测试?(3)微信发朋友圈如何测试?(4)微信点赞如何测试?(5)给你一个水杯你会如何去测试?(6)你说下电梯的测试点?需求文档,功能,性能,兼容性,安全性,易用性从不同的角度去考虑如何测试?(1)需求测试需求:需求文档,......
  • 《15分钟轻松学Go》教程目录
    在AI快速发展的时代,学习Go语言依然很有用。Go语言擅长处理高并发任务,也就是说可以同时处理很多请求,这对于需要快速响应的AI服务非常重要。另外,Go适合用来处理和传输大量数据,非常适合机器学习模型的数据预处理。Go还可以和其他更常用的AI语言(如Python)配合使用,这使得建立AI系统......
  • 15分钟学Go 第1天:Go语言简介与特点
    Go语言简介与特点1.Go语言概述Go语言(又称Golang)是由谷歌于2007年开发并在2009年正式发布的一种开源编程语言。它旨在简单、高效地进行软件开发,尤其适合于网络编程和分布式系统。1.1发展背景多核处理器:随着计算机硬件的发展,尤其是多核处理器的普及,开发人员需要能够有效......
  • 2024.10.8(周二)
    importjava.io.*;importjava.util.*;importcom.fasterxml.jackson.databind.ObjectMapper;importorg.w3c.dom.*;importjavax.xml.parsers.*;importjavax.xml.transform.*;importjavax.xml.transform.dom.DOMSource;importjavax.xml.transform.stream.StreamRes......
  • 校测 20241015 图论
    保龄了!因为图论只自学过最短路Problem1.礼物分配为了庆祝大佬\(wxh\)的生日,众人决定为他准备礼物。现在有\(n\)个礼品盒排成一行,从\(1\)到n编号,每个礼品盒中可能有\(1\)个或\(0\)个礼品。大佬\(wxh\)提出了\(m\)个要求,形如“第\(l[i]\)到第\(r[i]\)个礼品......
  • 10.15
    A.小ω的距离经典数据随机,期望每次减少一半,直接暴力往前跳就行。B.小ω的匹配读懂题了就很简单了,容易发现每行只有前\(m\)个数有用,于是我们得到一个\(m\timesm\)的网格,第\(i\)行选择一个数\(j\),使得这\(m\)个前缀的并等于这\(m\)个数的并,并且并集集合大小为\(......
  • 2024.10.15人工智能学记3
    老师先讲了AI的定义:人工智能(AI)是计算机科学的一个分支,致力于创造能够模仿人类智能行为的机器或系统。这与教育学中的"智能”概念有些相似,但范围更广,包括感知、学习、推理、问题解决等能力。以及如何从教育者角度来理解AI?①规则基础系统-教学大纲和课程设置;机器学习-学生通过练......
  • leetcode 刷题day43动态规划Part12(115.不同的子序列、583. 两个字符串的删除操作、72.
    115.不同的子序列思路:这个题还是比较有难度的,问题s中有多少个t子序列可以转化为s字符串中有多少删除元素的方式,使s可以变成t。考虑动规五部曲。1、确定dp数组(dptable)以及下标的含义dp[i][j]:以i-1为结尾的s子序列中出现以j-1为结尾的t的个数为dp[i][j]。2、确定递推公式......
  • 2024/10/15第三次人工智能
    一:从教育者角度理解AI规则基础系统(教学大纲和课程设置)2.机器学习(学生通过练习提高技能)3.深度学习(高阶思维能力的培养)4.预训练(扩充语料库/学生在正式教育前的知识积累)5.微调(针对特定任务的专业训练/学科专业化)6.推理(模型根据输入生成输出文本/学生解答问题的过程......