2025-11-20

CF

Problem - 982C - Codeforces(搜索)(dfs)

找最大删除边数,使得每一棵树的顶点数都为偶数

#include <bits/stdc++.h>
using namespace std;
#define LL long long
const LL mod = 998244353;
const int N=1e5+10;
vector<int>e[N];
int ans[N];int dfs(int u,int fa){for (int i = 0; i < e[u].size();i++){int v = e[u][i];if(v==fa)continue;ans[u] += dfs(v, u);}ans[u]++;return ans[u];
}int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int n;cin >> n;for (int i = 0; i < n - 1;i++){int u, v;cin >> u >> v;e[u].push_back(v);e[v].push_back(u);}if(n%2){cout << -1 << endl;return 0;}dfs(1,0);int cnt = 0;for (int i = 1; i <= n;i++){if(ans[i]%2==0){cnt++;}}cout << cnt - 1 << endl;
}

Problem - 545C - Codeforces(贪心)(1500)

要让砍的树最多,则

  • 第1棵往左,最后一棵往右
  • 如果能往左,就往左
  • 如果不能往左,能往右,就往右倒
    为什么呢,因为如果第i棵树不能往左,不砍的话,就少砍一棵树,但是,如果往右的话,即使影响到下一棵树,也只是少砍一棵树,所以贪心最优
#include <bits/stdc++.h>
using namespace std;
#define LL long long
const LL mod = 998244353;
const int N=1e5+10;
int x[N], h[N];int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int n;cin >> n;for (int i = 0; i < n;i++){cin >> x[i] >> h[i];}int t = 0;for (int i = 1; i < n-1;i++){if(x[i]-h[i]>x[i-1])t++;else if(x[i]+h[i]<x[i+1]){t++;x[i] += h[i];}}if(n==1){cout << 1 << endl;}else{cout << t + 2 << endl;}
}

Problem - 1081C - Codeforces(数学)(1500)(逆元)

要使k个砖块与左边颜色不同,用隔板法,把砖块分成k+1份,每份涂上与旁边不同的颜色即可,所以公式为:

\[C_{n-1}^k \cdot m(m-1)^k \]

[!warning]
qmi如果用LL,就全改LL
取模尽量多取

#include <bits/stdc++.h>
using namespace std;
#define LL long long
const LL mod = 998244353;
const int N=2010;
LL f[N], inv[N];
LL C(int n,int m){return f[n] * inv[m] % mod * inv[n - m] % mod;
}
LL qmi(LL a,LL b,LL p)
{LL res=1;while(b){if(b&1)res = res * a % p;a=a*a%p;b >>= 1;}return res;
}
int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int n, m, k;cin >> n >> m >> k;f[0] = f[1] = inv[0] = inv[1] = 1;for (int i = 2; i <= n; i++){ // 求阶乘和单个数逆元f[i] = f[i - 1] * i % mod;inv[i] = mod - (mod / i) * inv[mod % i] % mod;}for (int i = 1; i <= n; i++){ // 求阶乘逆元inv[i] = inv[i - 1] * inv[i] % mod;}cout << C(n - 1, k) %mod *m%mod * qmi(m - 1, k, mod)%mod << endl;
}

dp解法
dp[i][j]表示前i个砖由j块满足题意
dp[i][j]dp[i-1][j]dp[i-1][j-1]*(m-1)(即第i块可以放m-1种颜色)

#include <bits/stdc++.h>
using namespace std;
#define LL long long
const LL mod = 998244353;
const int N=2010;
LL dp[N][N];
int n, m, k;int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);cin >> n >> m >> k;for (int i = 1; i <= n;i++){dp[i][0] = m;for (int j = 1; j < min(k + 1, i);j++){dp[i][j] = dp[i - 1][j] + dp[i - 1][j - 1] * (m - 1) % mod;dp[i][j] %= mod;}}cout << dp[n][k] << endl;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/972468.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025 年热门海运集装箱行业知名厂家排行榜!

2025 年热门海运集装箱行业知名厂家排行榜!​ 2025 年全球海运集装箱市场规模持续扩张,吞吐量突破 10 亿 TEU,亚洲市场占比超 50% 成为核心增长极。在绿色航运与数字化转型的浪潮下,一批兼具实力与口碑的企业脱颖而…

完整教程:AtCoder真题及详细题解 ABC427C: Bipartize

完整教程:AtCoder真题及详细题解 ABC427C: Bipartize2025-11-21 19:03 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; d…

面向对象程序设计-前3次作业总结

题目集1-3的总结 前言: 前三次作业用到了以下知识点: 1.类的创建与设计 2.类的方法实现 3.面向对象编程基础思想 4.类的单一职责原则应用 5.正则表达式的使用 6.队列管理 LinkedList 及其各个方法的使用 难度以及题量…

[豪の算法奇妙冒险] 代码随想录算法训练营第三天 | 203-移除链表元素、707-设计链表、206-反转链表

LeetCode203 移除链表元素、LeetCode707 设计链表、LeetCode206 反转链表代码随想录算法训练营第三天 | 203-移除链表元素、707-设计链表、206-反转链表LeetCode203 移除链表元素题目链接:https://leetcode.cn/proble…

2025年11月北京/东城区/西城区/朝阳区/海淀区/丰台区/石景山区遗产继承律师,遗产咨询律所Top10专业推荐排行权威榜单

2025年遗产继承法律行业持续增长,随着人口老龄化和财富积累,需求显著上升。本文基于行业数据、用户口碑和专业评估,为您提供2025年11月遗产继承律师律所Top10推荐榜单,帮助您快速找到靠谱服务。榜单包含详细排名、…

2025年11月北京/东城区/西城区/朝阳区/海淀区/丰台区/石景山区遗产继承、遗产纠纷,遗产咨询律师事务所权威排行榜单:专业律所推荐与选择指南

摘要 2025年遗产继承法律服务行业呈现专业化、精细化发展趋势,随着人口老龄化加剧和财富传承需求增长,北京地区遗产继承案件数量年均增长15%以上。本文基于权威数据、用户口碑和行业专家评估,为您提供2025年11月最具…

目前需要我去更新的东西

trick选记 atc/cf vp joist/joisc 选做 数论 杭电选做

南屏晚钟

我匆匆地走入森林中 森林它一丛丛 我找不到他的行踪 只看到那树摇风 我匆匆地走入森林中 森林它一丛丛 我看不到他的行踪 只听到那南屏钟 南屏晚钟 随风飘送 它好象是敲呀敲在我心坎中 南屏晚钟 随风飘送 它好象是催呀…

Linux初级命令练习:通过awk、sed如何批量创建用户

批量创建用户test01-test10方法1.使用awk 创建test01---test05第一步:第二步:第三步:第四步:查看结果方法2.使用sed 创建test06---test10第一步:第二步:第三步:查看结果

详细介绍:压缩与缓存调优实战指南:从0到1根治性能瓶颈(四)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

sqli-labs 1(Less-1-Less-10)新手解题思路 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

PyMAF 2023 单张照片估计参数化人体

https://github.com/HongwenZhang/PyMAF/tree/smplx

实用指南:【设计模式】适配器模式(Adapter)

实用指南:【设计模式】适配器模式(Adapter)2025-11-21 18:33 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: …

完整教程:【人工智能】神经网络的优化器optimizer(四):Adam自适应动量优化器

完整教程:【人工智能】神经网络的优化器optimizer(四):Adam自适应动量优化器pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-…

轻松速通:TTS播放、文件播放与录音的核心功能解析!

无论是开发语音助手、音频播放器,还是录音工具,TTS播放、文件播放与录音都是绕不开的核心功能。本文提炼核心流程,帮你跳过冗余细节,快速掌握这三大功能的核心实现逻辑。 一、概述 本文档详细介绍了基于 Air8000 开…

2025 中国法兰阀门十大品牌推荐:密封升级 + 场景适配,优质厂家护航流体系统安全

法兰阀门作为管道连接中的核心部件,凭借连接牢固、密封性能好的优势,广泛应用于石油化工、市政工程、能源电力、船舶制造等众多领域。2025 年,随着工业生产规模扩大与民生基建升级,市场对法兰阀门的密封可靠性、耐…

FPGA专用CLKUSR时钟引脚严重警告——Cyclone 10 GX

FPGA专用CLKUSR时钟引脚严重警告——Cyclone 10 GXCyclone 10 gx器件 使用Cyclone 10 gx器件时,由于把硬件给的管脚tcl脚本拉到工程里面了,编译后发现一个Critical Warning如下Critical Warning(18326): The design …

OPCUA探讨(五)——客户端代码解读:监控变量值与报警

本系列文章: OPCUA 探讨(一)——测试与开发环境搭建 OPCUA 探讨(二)——服务器节点初探 OPCUA 探讨(三)——客户端代码解读:基本配置与会话连接 OPCUA 探讨(四)——客户端代码解读:浏览服务器节点树 OPCUA …

2025 年度中国截止阀十大品牌推荐:绿色智造 + 特种工况突破,引领行业高质量发展

2025 年,随着 “双碳” 战略深入推进与高端制造业升级,截止阀作为流体系统的 “控制中枢”,其应用场景正加速向大口径、高压力、超低温、耐腐蚀等苛刻工况延伸,同时绿色智造、数字化运维与全生命周期质量管控成为行…