2025国庆Day4

模拟赛

T1

简单做法:

发现本题所有运算全是加法

直接记录c,s之和

转移即可

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<iomanip>
#include<bits/stdc++.h>
#define int long long
#define jiaa(a,b) {a+=b;if(a>=MOD) a-=MOD;}
#define jian(a,b) {a-=b;if(a<0) a+=MOD;}
using namespace std;
int ksm(int a,int b,int p){if(b==0) return 1;if(b==1) return a%p;int c=ksm(a,b/2,p);c=c*c%p;if(b%2==1) c=c*a%p;return c%p;	
}
inline int read()
{int x=0,f=1;char ch=getchar();while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}while (ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();}return x*f;
}
const int MOD=998244353;
int dp[1005][1005][2];
int a[1005][1005],c[1005][1005][2],sum[1005][1005][2];
signed main()
{//freopen("filename.in", "r", stdin);//freopen("filename.out", "w", stdout);int n=read(),m=read();for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){char s;cin>>s;if(s=='.') a[i][j]=1;}}sum[1][1][0]=sum[1][1][1]=1;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(a[i-1][j]){jiaa(sum[i][j][0],(sum[i-1][j][0]+sum[i-1][j][1])%MOD);jiaa(c[i][j][0],(c[i-1][j][0]+sum[i-1][j][0]*(i*j)%MOD+sum[i-1][j][1]*(i*j)%MOD)%MOD);jiaa(dp[i][j][0],(dp[i-1][j][0]+c[i-1][j][0]+sum[i-1][j][0]*(i*j)%MOD+dp[i-1][j][1]+sum[i-1][j][1]*(i*j)%MOD)%MOD);}if(a[i][j-1]){jiaa(sum[i][j][1],(sum[i][j-1][0]+sum[i][j-1][1])%MOD);jiaa(c[i][j][1],(c[i][j-1][1]+sum[i][j-1][1]*(i*j)%MOD+sum[i][j-1][0]*(i*j)%MOD)%MOD);jiaa(dp[i][j][1],(dp[i][j-1][1]+c[i][j-1][1]+sum[i][j-1][1]*(i*j)%MOD+dp[i][j-1][0]+sum[i][j-1][0]*(i*j)%MOD)%MOD);}}}if(!a[n][m]){cout<<0<<'\n';return 0;}int ans=(dp[n][m][0]+dp[n][m][1])%MOD;ans=ans*ksm(2,MOD-2,MOD)%MOD;cout<<ans<<'\n';return 0;
}

高级做法:

按拐点dp

前缀和优化

实现较为麻烦

T2

可以建出虚树

直接跑dfs求树的重心即可

或者观察:

点集的重心⼀定是“dfs序中位数”的祖先

此处,若点集⼤⼩为奇数,“dfs序中位数”即为点集按 dfs 序排序后,最中间的点

若为偶数,排序后最中间的点有两个,重⼼⼀定是它们之⼀的祖先

通过倍增的⽅法找到重⼼

具体地,可以发现重心⼀定是“中位数”的所有祖先(包括“中位数”本⾝)中,满⾜“条件1”的、深度最深的⼀个

若点集大小为偶数,对中间两个点分别找一次重心

取dep较大的即可

带权做法类似

T3

将偶数的边连两次,奇数的边连一次

找欧拉路径即可

T4

数学!

容斥原理

image

image

图论

最小生成树

kruskal prim

brouvka:每次取每个点的最小出边,合并,直到只剩一个点

最短路

https://www.luogu.com.cn/problem/P4568

分层图

https://www.luogu.com.cn/problem/UVA1151

暴力用哪个套餐

每次套餐内的点合并,跑prim

复杂度O(n2*2q)小常数2e8能过

https://www.luogu.com.cn/problem/P1396

求最小瓶颈路

易证一定是最小生成树上的路径

若多测树上倍增即可

https://www.luogu.com.cn/problem/P3008

是不是可以SPFA

对所有的双向边联通块缩点

一定是dag

拓扑排序更新dis

欧拉路径

欧拉路径存在,当且仅当图是联通图,且度数为奇数的点的个数不超过 2

  1. 如果度数为奇数的点个数为 0,则欧拉路⼀定是欧拉回路:即起点和终点相同

  2. 如果度数为奇数的点个数为 2,则欧拉路径必定从它们中的⼀个出发,并在另⼀个终⽌

构造方案将起点终点连边,求欧拉回路即可

若没有欧拉回路,如何构建?

容易发现奇度数的点一定是偶数个

将这些奇度数的点两两连边即可

二分图

二分染色当且仅当不存在奇环

联通分量

image

并查集维护到fa的路径奇偶性

若su^sv==w%2就存在答案

注意若联通块内存在奇环,一定有答案

CF547D

对每个点,横纵坐标连边

形成的图强制补成有欧拉回路的图

跑欧拉回路即可

(欧拉回路定向题,从x->y染红,反之染蓝)

image

T3 加强版

对于所有奇度数的点连边

边权是原图的最短路

对新图进行最小匹配

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

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

相关文章

苏宁易购网站建设目标成视频网址多少?

场景&#xff1a; 平台&#xff1a;win7 x64。显卡很差的电脑&#xff0c;使用ffmpeg录屏&#xff0c;鼠标闪烁的几乎看不到。录屏实现方法是使用ffmpeg&#xff0c;源采用的是gdigrab。 解决方法&#xff1a; 安装screen capture recorder安装ffmpeg&#xff0c;执行命令ff…

郑州网站开发公司电话网站在线优化

简介&#xff1a; 融合流量网关与微服务网关的下一代网关—云原生网关来啦&#xff01;优势满满&#xff01; 流量网关和微服务网关必须分开构建吗&#xff1f; 在容器技术和 K8s 主导的云原生时代&#xff0c;这个命题正浮现出新的答案。 更经济&#xff1a;将流量网关与微…

gis坐标计算

package cn.service.hspd.utils;import com.alibaba.fastjson2.JSON;import java.awt.geom.Point2D; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; import ja…

Spring AI Alibaba + Nacos 动态 MCP Server 代理方案 - 详解

Spring AI Alibaba + Nacos 动态 MCP Server 代理方案 - 详解2025-10-05 16:58 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !import…

trick 小记

备忘录数据范围可以 \(n^2\) 算法且不考虑顺序的情况下可以连续段 dp要仔细检查数组是否开小,线段树最少 4 倍,建边的数组看条数,一般情况下开 2m,注意看数据范围时 \(k\times 10^x\) 的形式,一数组两用直接开到 …

公司网站维护方案网页设计怎么做网站

Vue3 新项目默认工程文件理解 文章目录 Vue3 新项目默认工程文件理解0、工程文件结构图1、main.ts2、index.html源文件编译后 3、App.vue4、.d.ts 文件作用 0、工程文件结构图 1、main.ts // 引入 createApp 函数 import { createApp } from vue // 引入 style.css 文件&#…

day17 课程()

day17 课程()课程: 17.1 了解异常------------------------------------------------ 执行后17.2 体验异常------------------------------------------------ 执行后17.3 了解异常类型---------------------------…

wordpress移动到回收站时发生错误.wordpress能做app

Charles是在您自己的计算机上运行的Web代理&#xff08;HTTP代理 / HTTP监视器&#xff09;&#xff0c;您的网络浏览器&#xff08;或任何其他Internet应用程序&#xff09;配置为通过Charles访问Internet&#xff0c;Charles可以为您记录并显示发送和接收的所有数据。 Http抓…

NKOJ全TJ计划——NP11744

题目内容 [20241017] Min-max 容斥 小 M 在\(\pi\) 岁时学会了 min-max 容斥。 给定一张 \(n\)个点\(m\)条边的边带权简单连通无向图。现需要将其的每个结点染成黑色或白色。 定义两个结点的距离为这两点间所有路径的边…

ROIR 2025

ROIR 2025 https://www.luogu.com.cn/problem/list?type=luogu&page=1&tag=479|62 二维蚱蜢 先贪心地往右上跳,跳到某维坐标与终点相同,再横着或竖着跳。 不完全质数 意义不明。 显然满足条件的数的形态是,…

网站上线前要做哪些准备如何做营销策划方案

笔记整理 | 谭亦鸣&#xff0c;东南大学博士生来源&#xff1a;EACL’21链接&#xff1a;https://www.aclweb.org/anthology/2021.eacl-main.35.pdf概述与动机本文提出了一种基于递归超图的知识图谱问答方法RecHyperNet&#xff0c;作者认为人回答问题时倾向于在推理过程中递归…

网站建设很简单f2fpay wordpress

1.理论知识&#xff1a;HCIE认证首先要求考生具备扎实的云计算理论基础&#xff0c;包括云计算的基本概念、架构、关键技术、安全管理等方面的知识。考生需要深入理解云计算的核心原理&#xff0c;以及华为云计算产品的特点和优势。 2.实践技能&#xff1a;除了理论知识外&…

贵阳免费网站建设spam free wordpress

思维导图&#xff1a; 不同设备号文件绑定&#xff1a;

网站框架图怎么做我想做微商怎么加入

在编写汉诺塔实验的时候&#xff0c;自己设计了一个全局的计数变量count用来计数移动次数&#xff0c;结果运行的时候报了这样的错误&#xff0c;错误也锁定在全局变量的定义那里。 没想通为什么会有语法错误&#xff0c;去查了一下发下是c的库函数有关键字count&#xff0c;所…

实用指南:万兴PDF手机版

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

python编写AI生常用匡架及使用指令集

以下是Python中常用的AI相关框架及其使用指令集,涵盖了机器学习、深度学习、自然语言处理等多个领域: 1. TensorFlow 简介:谷歌开发的开源深度学习框架,支持多种平台和语言。 安装指令: pip install tensorflow …

10月5日在图书馆的3/4天

10月5日在图书馆的3/4天刚过4点,想起来我好像成功开通了博客,正巧做题也累了,那就不摘下带上的耳机了,写写题解吧。 1来看看第一道题吧 https://www.luogu.com.cn/problem/P1990 覆盖墙壁 题目大概 就是给你一面N…

泉州微信网站建设公司百度文库个人登录

Keepass2Android密码管理能帮助我们保存各类网站、应用的密码&#xff0c;大家提前设置好之后每次输入密码的时候只需要输入很少的字符就能快速解锁密码&#xff0c;为大家的日常使用提供方便。软件特色* 几乎可与所有的Android 的浏览器结合使用 (见下文)*快速解锁&#xff1a…

基于原生JavaScript前端和 Flask 后端的Todo 应用 - 详解

基于原生JavaScript前端和 Flask 后端的Todo 应用 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas…