题解 CF293B 【Distinct Paths】

数据抽样实战:系统抽样与聚类抽样的原理、Python实现与工程应用 数据抽样是数据科学和机器学习中处理海量数据的基础技术,其核心原理是从总体中科学选取代表性子集,以显著降低计算成本并加速分析流程。在工程实践中,概率抽样方法如系统抽样和聚类抽样被广泛应用。系统抽样通过等距间隔选取样本,适用于有序数据流和大规模数据探索,但需警惕周期性偏差;聚类抽样则从自然群组入手,先抽取聚类再处理内部个体,能大幅降低数据收集成本,尤其适合地理或组织分散的总体。掌握这些方法及其在Python中的高效实现,能帮助数据科学家在资源受限下快速验证模型、进行探索性数据分析。本文结合Iris数据集和学生数 阅读详情

这个n,m≤1000n,m≤1000n,m≤1000明显是唬人的,我们经过研究后可以发现,当n+m−1>kn + m - 1>kn+m−1>k时就无解了。因此我们发现,n,m的实际范围是非常小的,因此考虑dfs。
但是单纯的dfs时间复杂度仍不足以通过此题,我们考虑优化:

1.可行性剪枝。若剩下步数大于可用颜色就剪掉

  1. 对称性剪枝。如果当前是第一次填颜色x,那么把x换成其他第一次填的颜色结果不变

这样就使的搜索量大大减少,即使棋盘相当稀疏也能瞬间出解

Code

#include <cstdio>
#include <cstring>
#define lowbit(x) ((x) & (-(x)))
#define Int register int
using namespace std;

const int MOD = 1000000007;

int rc[1007][1007] , n , m , k , ans;
int rec[1007][1007] , used[1000007];

inline int dfs(Int x , Int y) 
{
    if (y > m) y = 1 , ++ x;
    if (x == n + 1) return 1;
    int now = rec[x - 1][y]|rec[x][y-1],tmp=-1;
    int ret = 0 , tot = 0;
    for (Int i = 1 ; i <= k ; ++ i) tot += !((1 << i - 1) & now);
    if (n + m - x - y + 1 > tot) return 0;
    for (Int i = 1 ; i <= k ; ++ i) 
	{
        if ((1 << i - 1) & now) continue;
        if (!rc[x][y] || rc[x][y] == i) 
		{
            rec[x][y] = now | (1 << i - 1);
            if (++ used[i] == 1) 
			{
                if (tmp == -1) tmp = dfs(x , y + 1);
                ret += tmp;
            } else ret += dfs(x , y + 1);
            ret %= MOD;
            -- used[i];
        }
    }
    return ret;
}

int main(void) 
{
    int cnt = 0; 
	scanf("%d%d%d" , &n , &m , &k);
    if (n + m - 1 > k) {putchar('0'); return 0;}
    for (Int i = 1 ; i <= n ; ++ i)
		for (Int j = 1 ; j <= m ; ++ j)
		{
        	scanf("%d",&rc[i][j]);
        	cnt += (!rc[i][j]); 
			++ used[rc[i][j]];
    	}
    printf("%d\n" , dfs(1 , 1));
    return 0;
}
Qt绘图库对决:QWT与QCustomPlot的实战选型指南 本文为Qt开发者提供了QWT与QCustomPlot两大绘图库的实战选型指南。文章从功能特性、性能资源、开发效率三大维度进行深度对比,并结合工业监控、科学计算、嵌入式设备等典型场景,给出了清晰的决策清单。对于需要专业科学图表(如极坐标、等高线图)的场景推荐QWT;对于追求高性能、实时性、快速开发及嵌入式部署的通用图表需求,QCustomPlot是更优选择。 阅读详情

相关推荐

SCCM实战指南:从零搭建企业级Windows自动化部署平台

本文提供了一份详细的SCCM实战指南,手把手教你从零搭建企业级Windows自动化部署平台。内容涵盖环境规划、AD架构扩展、SQL Server配置、SCCM主站点安装,以及最终实现操作系统镜像的自动化部署,旨在帮助IT管理员彻底告别手动装机,实现高效、规范的Windows设备批量管理。

weixin_29251337的博客 638

Distinct Paths 293B/299D(搜索+剪枝)

【原题地址】: Distinct Paths 299D 【题目大意】: 给定一个 \(n*m\) 大小的方格,有的格子需要染色,有的格子有初始颜色,颜色种类为 \(1 \to n\) ,问有多少种染色方案可以让每一条从左上 \((1,1)\) 到右下 \((n,m)\) 的路径不经过相同颜色的点 【题解】: 题目上的 \(1000*1000\) 范围就是用来吓人的,其本质还是一个搜索,因...

baizhang7027的博客 249

CentOS7下OpenVPN Access Server 2.12.0安装与智能分流配置指南

本文详细介绍了在CentOS7系统上安装OpenVPN Access Server 2.12.0并进行智能分流配置的完整指南。从环境准备、核心安装到智能分流策略的深度配置,提供了经过验证的优化方案和故障排查技巧,帮助用户实现高效的VPN网关部署和流量管理。

weixin_30546189的博客 290

【CodeForces 293B】Distinct Paths 搜索与剪枝

Distinct Paths Time Limit: 2000MS Memory Limit: 262144KB Description You have a rectangular n × m-cell board. Some cells are already painted some of k colors. You need to paint ea

anantheparty的博客 1148

RobotStudio码垛机器人创建过程

首先导入一个IRB2600机器人,移动夹具的本地坐标原点,使原点位置为顶面中心(与法兰盘连接的部位)。对齐夹爪Smart组件的本地坐标和机器人末端法兰盘的坐标...

个人博客 1万+

分享通达信破解交易接口的使用!

那其实通达信破解交易接口的使用方法比较复杂,这里以MA均线指标为例子,只要理解了这些操作步骤,就可以很容易地使用其他指标包括自己编写的指标来进行交易。委托结果(包含委托编号), 需要分配 1024*1024 字节的空间。委托结果数组, 每项结果需要分配 1024*1024 字节的空间。0: 买入, 1: 卖出, 2: 融资买入, 3: 融券卖出,4: (市价委托)上海五档即成剩撤, 深圳五档即成剩撤。4: 买券还券, 5: 卖券还款, 6: 现券还券。0: 上海限价委托, 深圳限价委托。

1841085904的博客 2360

CodeForces 293 B.Distinct Paths(dfs+状压DP)

Description给出一个n×mn\times m的矩阵,有一些格子已经有颜色了,现在要给每个没染色的格子染色,颜色有kk种,用11~kk表示,要求所有从左上角到右下角的路径(只能往下和往右走)上格子颜色各不相同,问方案数 Input第一行三个整数n,m,kn,m,k,之后输入一个n×mn\times m矩阵表示染色情况,00表示未染色的格子(1≤n,m≤1000,1≤k≤10)(1\le n,

ZSQ 429

《基于YOLOv5/8/10的足球比赛球员识别系统毕设全指南:从开发到部署的一站式实战》

本文提出了一个基于YOLO系列模型的足球球员识别系统,具备完整的开发流程和技术方案。系统通过YOLOv5/8/10三大框架实现球员检测,平衡精度与速度需求。开发过程包含数据标注与增强、模型训练调优、PyQt5界面开发等关键环节,并提供了模型轻量化、多任务扩展等优化方向。系统可实现单张图像和视频流的实时识别,支持跨设备部署,适用于赛事分析和训练复盘场景。项目特色在于完整的技术实现路径和对不同YOLO框架的性能对比,为计算机视觉在体育领域的应用提供实践参考。

m0_71589036的博客 216

JZOJ4012. 【CF293B】Distinct Paths

Description 小首有一个n*m的木板,一些块已经被涂上给出的k种颜色中的一种。你需要把每个没涂色的块涂色使得从左上角到右下角的每条路径都不会经过两个颜色一样的块。路径只能向右或向下走。 输出答案%1000000007。 Input 第一行3个整数n,m,k。 接下来n行,每行m个整数表示木板,其中第一行表示最上的m块,每行第一个数表示最左列的块。 对于每个整数,如果为0,...

lijf2001的博客 355

YOLOv8改进 | 注意力篇 | YOLOv8引入EMAttention(EMA)注意力

具体来说,除了对全局信息进行编码以重新校准每个并行分支中的通道权重之外,还通过跨维度交互来进一步聚合两个并行分支的输出特征,以捕获像素级的成对关系。3. 跨空间学习:除了在每个并行子网络中建立局部的跨通道交互外,EMA模块还通过跨空间学习方法融合了两个并行子网络的输出特征图。到此本文的正式分享内容就结束了,在这里给大家推荐我的YOLOv8改进有效涨点专栏,后期我会根据各种最新的前沿顶会进行论文复现,也会对一些老的改进机制进行补充,如果大家觉得本文帮助到你了,订阅本专栏,关注后续更多的更新~

tsg6698的博客 896

开篇词:学习系统分析师的好处?核心考点有哪些?

系统分析师备考指南 系统分析师是IT行业的高级专业人才,具备系统分析与设计能力,能指导开发团队工作。学习系统分析师不仅能获得职业晋升的"黄金跳板",还能全面提升技术架构思维和业务理解能力。 核心价值: 职业发展:晋升管理岗位的硬性要求,突破职业天花板 能力提升:构建T型知识结构,培养架构思维和软技能 市场竞争力:成为"业务+技术"桥梁,获得国家级专业认证 考试内容: 计算机基础知识(硬件、操作系统、网络等) 系统分析专业知识(软件工程、架构设计等) 进阶知识(企业信息

数据知道的博客 5942

CF293B Distinct Paths题解

CF293B Distinct Paths 题意 给定一个\(n\times m\)的矩形色板,有kk种不同的颜料,有些格子已经填上了某种颜色,现在需要将其他格子也填上颜色,使得从左上角到右下角的任意路径经过的格子都不会出现两种及以上相同的颜色。路径只能沿着相邻的格子,且只能向下或者向右。 计算所有可能的方案,结果对 \(1000000007 (10^9 + 7)\) 输入及输出格式 输入格式 第...

weixin_30819163的博客 190

手把手教你学Simulink--基于光伏(PV)系统的建模与仿真场景:-不同天气条件下光伏系统的输出性能分析

本文介绍了使用Simulink和Simscape Electrical工具箱进行光伏系统建模与仿真的完整流程。内容涵盖准备工作、模型构建、仿真分析三大步骤,重点演示了如何模拟不同天气条件(光照强度、温度变化)对光伏输出性能的影响。通过添加PVArray模块、配置参数、设置环境变化条件、连接测量仪器等操作,实现了光伏系统在动态天气条件下的输出特性分析。文章还提供了仿真参数设置建议和结果分析方法,帮助用户理解环境因素与光伏性能的关联性,为光伏系统设计和优化提供参考。

MHD0815的博客 189

jzoj4012-Distinct Paths【搜索】

正题 题目链接:https://jzoj.net/senior/#contest/show/3008/1 题目大意 n∗mn*mn∗m的格子,kkk种颜色涂色,求有多少种方案使得没有任意一条只往右和下的路径经过相同颜色。 解题思路 显然如果n+m−1>kn+m-1>kn+m−1>k就无解,所以n+m−1n+m-1n+m−1最大为101010,考虑搜索。 两个剪枝 可行性剪枝...

QuantAsk 489

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

codeforces 293B Distinct Paths

n,m 因为n+m-1>k无解啦。。。k 暴力大法好。。。 我们从左上向右下枚举棋子,遵循每次只放放过的棋子或者没放过的编号最小的棋子(当然是符合题目要求的情况下),最后用组合计数搞一搞即可以啦 #include #include #include using namespace std; typedef long long LL; #define two(x) (1<<(

Zeyu_King的专栏 1094

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

CF293B. Distinct Paths

B. Distinct Paths time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output You have a rectangularn × m-cell board...

weixin_30555125的博客 167

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Codeforces 283B Distinct Paths (dfs+剪枝)

#include #include #include #include #include #include using namespace std; #define N 20 #define M 400030 #define mod 1000000007 #define B 234324 #define LL long long int n, m, k; int a[N][N];

yamiedie_ 574

jzoj4012 [CF293B]Distinct Paths 搜索+剪枝

Description 小首有一个n*m的木板,一些块已经被涂上给出的k种颜色中的一种。你需要把每个没涂色的块涂色使得从左上角到右下角的每条路径都不会经过两个颜色一样的块。路径只能向右或向下走。 输出答案%1000000007。 对于40%的数据,1&lt;=n,m&lt;=3 对于100%的数据,1&lt;=n,m&lt;=1000,1&lt;=k&lt;=10 Solutio...

olahiuj的博客 589

CodeForces 293B Distinct Paths

题目大意给定一个n*m的矩阵,每个格子内允许填1−k(k<10)1-k(k<10),问有多少种填数方案可以让每一条从左上到右下的路径不经过数字相同的点解答搜索剪枝,暴搜每个点,首先用¬(F[x−1][y]∨F[x][y−1])\lnot(F[x-1][y] \lor F[x][y-1])得到所有可以用的数码,用二进制记每个数是否用过,每一次用i∧(−i)i\land (-i)得到小的一个可以用的数,

Sprjdfn的学习笔记 900

[codeforces 293]B. Distinct Paths

[codeforces 293]B. Distinct Paths 试题描述 You have a rectangularn × m-cell board. Some cells are already painted some ofkcolors. You need to paint each uncolored cell one of thekcolors so that a...

weixin_30361641的博客 171

CF293B 方格(带技巧的搜索)

solution: 首先我们根据一条路径上不能有两个相同颜色的格子可以得出: 对于两个格子 \((x_1 , y_1 )\) 和 \((x_2 , y_2 )\) 必须满足: \(x_1<x_2 and y_1>y_2\) \(x_1>x_2 and y_1<y_2\) 所以我们可以据此剪枝,但直接暴搜肯定会超时,我们肯定还有技巧: 根据上面的剪枝我们发现将表格以(1,...

weixin_30545285的博客 208

CF293B Distinct Paths dfs+剪枝

【问题描述】 给定一个 n*m 的矩形色板,有 k 种不同的颜料,有些格子已经填上了某种颜色,现在 需要将其他格子也填上颜色,使得从左上角到右下角的任意路径经过的格子都不会出现两种 及以上相同的颜色。路径只能沿着相邻的格子,且只能向下或者向右。 计算所有可能的方案,结果对 1000000007 (10^9 + 7)求模。 【输入数据】 第一行,三个整数 n, m, k (1 ≤ n, m ≤...

liangzihao1的博客 415

CF 293 E Close Vertices (树的分治+树状数组)

转载请注明出处,谢谢http://blog.youkuaiyun.com/ACM_cxlove?viewmode=contents    by---cxlove 题目:给出一棵树,问有多少条路径权值和不大于w,长度不大于l。 http://codeforces.com/contest/293/problem/E 有男人八题很相似,但是多了一个限制。 同样 还是点分治,考虑二元组(到根的路径权值和,

窝不是爱酱,喵~~~~ 3020

论弱逼的自我修养——2014集训队CF试题泛做

为了增长姿势水平提高思考能力,我决定跟着神犇膜一膜2014的集训队作业; 似乎大多数是CF上的DE题,应该比较有含金量(然而博主是个div2连D都没做上过的**); 感觉不久就会弃坑吧,大家来猜猜窝能坚持几道题吧!

140142 3099

Codeforces 293B Distinct Paths (DFS+位运算)

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include

我的漫漫的AC路 1004
上一篇: JZOJ3883 [NOIP2014模拟] 线段树(segment)
下一篇: JZOJ6547 USACO USOpen 2020 Haircut 题解
Nazo_zzh
博客等级 码龄7年 0粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值