分析:

很简单的DP水题。

定义DP(i,j)=(x,y)DP(i,j)=(x,y)DP(i,j)=(x,y)表示在i号点,将其周围j个格子全部转化为颜色y,其优先级为x的最优先操作。

只不过有点不同的是,这个DP的初始状态是一来就直接给出的。

对于一个操作(v,c,d),其优先级为i(第i次操作),将DP(v,d)=max(DP(v,d),(i,c));

转移式就非常简单了:DP(i,j)=max(DP(i,j),DP(i,j+1),DP(u,j+1))DP(i,j)=max(DP(i,j),DP(i,j+1),DP(u,j+1))DP(i,j)=max(DP(i,j),DP(i,j+1),DP(u,j+1))
u是与i相邻的节点。

每个点最终的颜色就是(DP(i,0).second)(DP(i,0).second)(DP(i,0).second)

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<vector>
#define SF scanf
#define PF printf
#define MAXN 100010
using namespace std;
pair<int,int> dp[MAXN][12];
int n,m,q;
vector<int> a[MAXN];
int main(){SF("%d%d",&n,&m);int u,v;for(int i=1;i<=m;i++){SF("%d%d",&u,&v);a[u].push_back(v);a[v].push_back(u);}SF("%d",&q);int d,c;for(int i=1;i<=q;i++){SF("%d%d%d",&v,&d,&c);dp[v][d]=make_pair(i,c);}for(int k=9;k>=0;k--)for(int i=1;i<=n;i++){dp[i][k]=max(dp[i][k],dp[i][k+1]);for(int j=0;j<int(a[i].size());j++){v=a[i][j];dp[i][k]=max(dp[i][k],dp[v][k+1]);}}for(int i=1;i<=n;i++)PF("%d\n",dp[i][0].second);
}

【DP】AGC012B Splatter Painting相关推荐

  1. AT2362 [AGC012B] Splatter Painting(思维、dfs染色、剪枝)

    AT2362 [AGC012B] Splatter Painting 题意 给一个n个点m条边的无向图,有q次操作 第i次操作,给出v,d,c,把所有到点v的距离不超过d的点都染上颜色c 问最后每个点 ...

  2. 【DP】【期望】$P1850$换教室

    [DP][期望]\(P1850\)换教室 链接 题目描述 有 \(2n\) 节课程安排在$ n$ 个时间段上.在第 \(i\)(\(1 \leq i \leq n\))个时间段上,两节内容相同的课程同 ...

  3. Bailian2760 数字三角形【DP】

    2760:数字三角形 描述 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 (图1) 图1给出了一个数字三角形.从三角形的顶部到底部有很多条不同的路径.对于每条路径,把路径上面的数加起来可 ...

  4. NUC1131 Triangle【DP】

    Triangle 时间限制: 1000ms 内存限制: 65536KB 通过次数: 1总提交次数: 1 问题描述 图1表示一个数字三角形. 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 ...

  5. LeetCode:完全平方数【279】【DP】

    LeetCode:完全平方数[279][DP] 题目描述 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n.你需要让组成和的完全平方数的个数最少. 示 ...

  6. 【DP】序列 题解

    [DP]序列 题解 序列 题目 一个长度为kkk的整数序列bbb 1,bbb 2,-,bkbkbk(1≤bbb 1≤bbb 2≤-≤bkbkbk≤NNN)称为"好序列"当且仅当后一 ...

  7. poj 2411 Mondriaan#39;s Dream 【dp】

    题目:poj 2411 Mondriaan's Dream 题意:给出一个n*m的矩阵,让你用1*2的矩阵铺满,然后问你最多由多少种不同的方案. 分析:这是一个比較经典的题目.网上各种牛B写法一大堆. ...

  8. BestCoder冠军赛 - 1005 Game 【DP】

    [题意] 给出一个set,set中有几个数. 现在给出n个人,环成一圈搞约瑟夫... 开始时从第1号报数,每次从set中随机选出一个数s,等报数到s后,报s的人出圈,其他人继续报数. 最后只剩1人时, ...

  9. 【9.22校内测试】【可持久化并查集(主席树实现)】【DP】【点双联通分量/割点】...

    1 build 1.1 Description 从前有一个王国,里面有n 座城市,一开始两两不连通.现在国王将进行m 次命令,命令可 能有两种,一种是在u 和v 之间修建道路,另一种是询问在第u 次命 ...

最新文章

  1. lync服务器不响应或无法联系,Lync 用户无法与外部联系人通信 - Skype for Business | Microsoft Docs...
  2. 需求评审会议上,被逼疯的程序员
  3. oracle 数据库由Linux平台向Windows平台迁移
  4. sas rename重命名_如何使用sp_rename命令在SQL Server中重命名表
  5. Vue2.0 之 自带浏览器里无法打开(兼容IE处理) - 解决方案 命令
  6. 看博客学学Android(二十一)
  7. 吸电流、拉电流、灌电流、上拉电阻、下拉电阻、高阻态等基础知识普及
  8. 34. Element textContent 属性
  9. 使用vue脚手架vue-cli搭建项目
  10. 计算机鼠标是怎么工作的,嚣张的数字生活指南 篇一:罗技G604上手谈,多侧键鼠标会怎样提升我们的工作效率...
  11. python接口测试面试题
  12. eda交通灯控制器波形输入_EDA 基于quartus平台制作的步行街自助式交通灯控制器(含vhdl程序、波形图、及电路原理图)+课程设计报告...
  13. 《R数据科学》学习笔记|Note2:使用ggplot2进行数据可视化(上)
  14. delphi中获取汉字的拼音首字母
  15. 关于Visual Studio 中“scanf”输入报错的解决方法
  16. 从零开始使用ESP8266 + Blinker 实现小爱同学可控可读取状态的多路插座
  17. 中国物联网微控制器市场现状研究分析与发展前景预测报告(2022)
  18. java实现剩余年假计算_通过参加工作日期计算出年假
  19. 我没去BAT,用了8年时间,从乙方变成了甲方
  20. java第五章学习总结

热门文章

  1. 绿联扩展坞拆解_我们拆了绿联这款USB
  2. 中国EMBA教育培训行业发展规划与投资规模预测报告2021年版
  3. 短视频剪辑如何正确把握“节奏感”,三个小技巧助你快慢有序
  4. pcd,obj,mtl文件格式解析
  5. 硬盘串口和并口的区别
  6. 考研经验贴 吉大调剂上岸
  7. 凸优化(convex optimization)第二讲:convex set
  8. java调用百度内容审核接口检查文本
  9. C语言中typedef的用法
  10. C# Winform 仿Win10-计算器