HDU 5386 Cover 覆盖染色

HDU-5336 XYZ and Drops 模拟十滴水 “事件”模拟,建立以时间为key的优先队列 阅读详情

题意:给出N*N的棋盘,以及其前后的颜色,并给出一系列操作,分别是把某行或者某列染成此操作要求的颜色,问求一个操作序列,让棋盘能从刚开始的状态到达最后的状态,保证有阶。

范围:N小于100,操作数小于500

解法:保证有解,可以考虑从后往前求操作,直接枚举第I个序列中的操作如果是J,看是否可行,即直接去匹配,如果某块颜色被之后的操作修改过,则跳过。枚举M*M次就可以了。时间复杂度O(500*500*100)

#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<math.h>
#include<iostream>
#include<stdlib.h>
#include<set>
#include<map>
#include<queue>
#include<vector>
#include<bitset>
#pragma comment(linker, "/STACK:1024000000,1024000000")
template <class T>
bool scanff(T &ret){ //Faster Input
    char c; int sgn; T bit=0.1;
    if(c=getchar(),c==EOF) return 0;
    while(c!='-'&&c!='.'&&(c<'0'||c>'9')) c=getchar();
    sgn=(c=='-')?-1:1;
    ret=(c=='-')?0:(c-'0');
    while(c=getchar(),c>='0'&&c<='9') ret=ret*10+(c-'0');
    if(c==' '||c=='\n'){ ret*=sgn; return 1; }
    while(c=getchar(),c>='0'&&c<='9') ret+=(c-'0')*bit,bit/=10;
    ret*=sgn;
    return 1;
}
#define inf 1073741823
#define llinf 4611686018427387903LL
#define PI acos(-1.0)
#define lth (th<<1)
#define rth (th<<1|1)
#define rep(i,a,b) for(int i=a;i<=b;i++)
#define drep(i,a,b) for(int i=a;i>=b;i--)
#define gson(i,root) for(int i=ptx[root];~i;i=ed[i].next)
#define tdata int testnum;scanff(testnum);for(int cas=1;cas<=testnum;cas++)
#define mem(x,val) memset(x,val,sizeof(x))
#define mkp(a,b) make_pair(a,b)
#define findx(x) lower_bound(b+1,b+1+bn,x)-b
#define pb(x) push_back(x)
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;

int n,m;
int mp[111][111];
char op[555][6];
int opx[555];
int opc[555];
int ans[555];
int vis[555];

bool check(int x){
    int sum=0;
    rep(i,1,n){
        if(op[x][0]=='H'&&(mp[opx[x]][i]==0||mp[opx[x]][i]==opc[x]))sum++;
        if(op[x][0]=='L'&&(mp[i][opx[x]]==0||mp[i][opx[x]]==opc[x]))sum++;
    }
    if(sum==n)return true;
    return false;
}

void change(int x){
    rep(i,1,n){
        if(op[x][0]=='H')mp[opx[x]][i]=0;
        if(op[x][0]=='L')mp[i][opx[x]]=0;
    }
}
int main(){
    tdata{

        scanff(n);
        scanff(m);
        rep(i,1,n)rep(j,1,n)scanff(mp[i][j]);
        rep(i,1,n)rep(j,1,n)scanff(mp[i][j]);
        rep(i,1,m){
            scanf("%s%d%d",op[i],&opx[i],&opc[i]);
        }
        mem(vis,0);
        rep(i,1,m){
            rep(j,1,m){
                if(vis[j])continue;
                if(check(j)){
                    change(j);
                    ans[i]=j;
                    vis[j]=1;
                    break;
                }
            }
        }
        drep(i,m,2)printf("%d ",ans[i]);
        printf("%d\n",ans[1]);
    }
    return 0;
}


CodeForces 261C Maxim and Matrix [规律题] 给出一个关于参数m矩阵构造方法,矩阵构造出来为(m+1)*(m+1)的,且都为0或1,给出n和t,问1<=m<=n为参数的矩阵中,最后一行的sum恰好为t的数量。 阅读详情

相关推荐

国央企创新负责人如何通过平台实现科研成果的快速识别与转化?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

hdu5386

好纠结,5380的贪心到底为什么。 但是这道题是5386的, 参考:http://blog.youkuaiyun.com/ms961516792/article/details/47616705 2015.8.29: 这道题的贪心是这样的:假设有一个操作op1,最后的它操作后是某行全变成a1颜色,而在最终状态时,的确这行全是a1,那么就可以把这个操作放在最后,因为即使可行的答案不是这...

138

PotPlayer自用皮肤

自用 PotPlayer 皮肤,仅微调了字体大小与颜色,是按个人习惯调整,未做适配性调整。

HDU 5386 暴力

给出初始矩阵和目标矩阵,存在m中操作,可以分别把每行或者每列都涂成同一种颜色,数据保证有解 因为保证有解,所以初始矩阵完全没有用。。。 暴力寻找M次操作,若目标矩阵的行或列全和该操作的颜色一样,则最后进行此操作,并把所有涂的点涂为颜色0(可当任意颜色) 然后同样依次推出之前的操作,因为之后的操作会覆盖掉之前操作的点。 #include "stdio.h" #include "str

972

2-shell及常用命令-续.pdf

2-shell及常用命令-续.pdf

2018南京大学计算机夏令营机试

1. Count number of binary strings without consecutive 1’s Given a positive integer n(3≤n≤90), count all possible distinct binary strings of length n such that there are no consecutive 1's . Examples...

climber16的博客 1万+

hdu5386Cover六校(想法题)

题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5386 Cover Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 724    Accepted Submission(s)

ACMan 398

雷电模拟器+Auto.js避坑指南:用桥接模式解决PC与模拟器连接超时问题

本文详细解析了雷电模拟器与Auto.js联调中的桥接模式应用,解决PC与模拟器连接超时问题。通过桥接模式配置、高频故障排查及多开环境下的高阶配置,提升开发效率与稳定性,特别适合需要稳定网络连接的Auto.js开发者。

weixin_28836989的博客 632

HDU 5386 Cover

有几种思路倒过来做 枚举每个操作,然后判断该操作是不是最后一个操作。 判断是否是最后一个操作方法就是,除去已经用过的点,如果一排都相同的话,那就是最后一个操作。 如果是最后一个操作的话,就把所以的同样类型同样行列的废操作放在他们的前面。#include <bits/stdc++.h> using namespace std; const int MAXN=105; int n, m; char

Mr.Phoebe的专栏 895

从零开始:如何用Kimi OK Computer快速生成专业级数据分析报告和PPT(附实战案例)

本文详细介绍了如何利用Kimi OK Computer智能体模式,从零开始快速生成专业级数据分析报告和演示文稿。通过实战案例,解析了其任务规划、联网搜索、多工具协同和内容排版等核心能力,并提供了精准指令构造、工作流引导及成果精修的完整步骤,帮助用户高效完成从数据到成品的端到端交付。

weixin_29284201的博客 369

VSCode + QMT 量化交易完整解决方案!

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1327

HDU 5515 (ACM 2015 沈阳) Game of Flying Circus [贪心+二分]

两个人玩一个游戏,他们站在一个矩形的一角,矩形的每条边为300米,每个角被标为1,2,3,4,(他们一开始在1号位置),他们要依此跑过2,3,4,回到1,每个角先到的人会得到1分(当然最初的时候1号点是不算的,要转一圈回来先到的得分),其中一个人跑的很快(记作Speeder),能以V2速度跑,所以他必定直接按路线跑,即沿着矩形边框跑,但是另一个人跑的满,为V1的速度(V1<=V2),但是他很擅长打架(Fighter),能再跑的途中与Speeder战斗,并必定打败S,得到1分,且S会被晕T秒,问你最后F会赢不

Asuna_acmer 1258

Python 爬虫实战:知网论文数据爬取(题录 / 摘要 / 引用提取 + Excel 结构化)

在学术研究中,获取准确且全面的文献数据是至关重要的。知网(CNKI)作为国内最大的学术文献数据库,拥有海量的论文资源。通过 Python 爬虫技术,我们可以高效地从知网爬取论文数据,包括题录、摘要和引用信息,并将这些数据结构化存储到 Excel 文件中,方便后续的学术分析和研究。

yansideyucsdn的博客 1749

2014-2015 ACM-ICPC, Asia Tokyo Regional Contest C題:Shopping [贪心+并查集]

给出N+2个点,每个点的编号为0...N+1,每一对点之间有一条长度为两者编号差的边,问走遍所有点且满足一些约束条件下,从0号点到N+1号点的最短路是多少。约束条件有M个,每一个约束条件给出一个X,Y,表示走X点之前必须先走Y点。(X可能对应多个Y,X<Y)

Asuna_acmer 1138

2026保姆级:1小时搞定C# OPC UA客户端开发——PLC与上位机全量数据交互零基础教程

本文介绍了使用C#开发OPC UA客户端的核心流程和关键代码实现。文章首先指出工业上位机开发中OPC UA的重要性,并针对新手常见问题提出了1小时掌握核心功能的解决方案。重点内容包括:选择官方.NET Standard库的优势、5分钟搭建开发环境的步骤、OPC UA客户端架构与通信流程的图解说明,以及完整的客户端基础类代码实现,涵盖了连接管理、证书配置、安全认证等关键功能。通过本文提供的代码模板,开发者可快速实现与PLC等工业设备的稳定数据交互。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 799

智能水下机器人设计: 基于MATLAB的水下机器人动力学建模和控制系统设计,包括水下环境感知、路径规划和任务执行等

智能水下机器人是指能够在水下自主完成各种任务的机器人,例如探测、勘察、救援等。它具有广阔的应用前景,可用于海洋环境监测、水下考古、海上作业等领域。基于MATLAB的水下机器人设计可以为科研人员和工程师提供强大的建模和仿真工具,帮助他们设计更智能、更高效的水下机器人。智能水下机器人是未来海洋科技发展的重要方向,它将为海洋科学研究、水下考古和海上作业等领域带来新的机遇。MATLAB是一种功能强大的数学和科学计算软件,它可以为智能水下机器人设计提供强大的工具和支持。

走向CTO的路上... 962

Codeforces Round #334 (603A) Alternative Thinking [贪心]

Kevin has just recevied his disappointing results on the USA Identification of Cows Olympiad (USAICO) in the form of a binary string of length n. —— 给出一个01串,先在你可以取反其中一个Substring(0变1,1变0),问这样操作后最长的0,1间隔子序列最长是多少。

Asuna_acmer 888

神经形态芯片:IBM TrueNorth技术详解以及应用案例

2018年的一项演示中,机器人使用TrueNorth处理了复杂的路径规划,功耗仅为传统系统的1/10。它通过模仿人脑的结构,解决了传统芯片在功耗和并行性上的痛点,并在图像识别、物联网和机器人等领域展现了强大潜力。:不同于传统芯片的时钟驱动,TrueNorth是事件驱动的。例如,工厂中的振动传感器使用TrueNorth检测设备故障的早期迹象,实现了更高效的维护策略,避免了停机时间。:在医疗领域,TrueNorth可以用于可穿戴设备,比如一个智能助听器,它能过滤噪音并增强特定声音,功耗低到可以用纽扣电池供电。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 2477

Codeforces Round #334 (604B) More Cowbell [贪心]

Kevin Sun wants to move his precious collection of n cowbells from Naperthrill to Exeter, where there is actually grass instead of corn. —— 给出N个已排序的奶牛铃铛的大小,现在把它们装到箱子里,一个箱子最多装两个铃铛,且不能铃铛的大小和不能超过箱子大小,问在使用K个箱子的前提下,问盒子最小多大。

Asuna_acmer 844

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Codeforces Round #327 (Div. 1) A题: Median Smoothing [规律题]

给出N个数,每次操作会将序列中的Ai变成A(i-1),Ai,A(i+1)的中值,首尾不变,问最多几次操作后,整个序列做操作之后整个序列不再变化,并输出最后的序列。

Asuna_acmer 841

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

CodeForces 261A Maxim and Discounts [想法/贪心题]

超市打折,有M种方案,对于每种方案给出一个Qi,你要选出Qi个推车里的商品,放到一个篮子中,然后可以从推车剩余的两种里选出0-2个东西免费,要保证免费的物品比篮子中最便宜的便宜。现在要购买N个商品,每个商品的价格为Ai,问在可以使用无限次推车、折扣的前提下,最小花费。

Asuna_acmer 698

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

HDU 5524 Subtrees [想法题/LCA]

给出N个节点的完全二叉树,问此树中所有的Subtree的Size有几种。

Asuna_acmer 696

HDU 5072 Coprime [数学]

从N个数里选出三个数,问两两互质或不互质的方案数。

Asuna_acmer 577

CodeForces 128D Numbers [想法题/贪心]

给出N个数,问能否将其组成一个环,环中每个数两两差恰好为1.

Asuna_acmer 497
上一篇: HDU-5355 Cake 均匀分蛋糕
下一篇: HDU 5381 The sum of gcd 询问区间内所有子区间的GCD和 [暴力法]
GrassTreeFlower
博客等级 码龄11年 14粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值