题目链接:Splatter Painting


因为距离很小。

所以,我们可以逆向操作,当前仅当这个点未被染色才去递归子节点。然后如果枚举到这个点,之前一个到过的节点还能到的距离大于当前还能到的距离就return;

复杂度为 d*(n+m)


AC代码:

#pragma GCC optimize("-Ofast","-funroll-all-loops")
#include<bits/stdc++.h>
//#define int long long
using namespace std;
const int N=1e5+10;
int n,m,q,a[N],b[N],c[N],col[N][12];
vector<int> g[N];
void dfs(int x,int dep,int id){if(dep<0||col[x][dep]) return ;col[x][dep]=max(col[x][dep],id);for(int to:g[x]) dfs(to,dep-1,id);
}
signed main(){cin>>n>>m;for(int i=1,a,b;i<=m;i++) scanf("%d %d",&a,&b),g[a].push_back(b),g[b].push_back(a);cin>>q;for(int i=1;i<=q;i++) scanf("%d %d %d",&a[i],&b[i],&c[i]);for(int i=q;i>=1;i--) dfs(a[i],b[i],i);for(int i=1;i<=n;i++){int ans=0;for(int j=0;j<=10;j++)   ans=max(ans,col[i][j]);printf("%d\n",c[ans]);}return 0;
}

Splatter Painting相关推荐

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

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

  2. stcoder Splatter Painting 记忆化搜索

    5647: Splatter Painting 时间限制: 2 Sec  内存限制: 256 MB 提交: 32  解决: 16 [提交] [状态] [讨论版] [命题人:admin] 题目描述 Sq ...

  3. AtCoder Grand Round 012B Splatter Painting

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...

  4. 2019.11.2图论专题(AtCoder Splatter Painting、President and Roads、Shortest Cycle、ISlands II)

    D:AtCoder Grand Contest 012 Splatter Painting 题目描述 Squid喜欢在图中为一些顶点染色(毕竟是鱿鱼 ) 现在有一张由 N 个顶点和 M 条边组成的简单 ...

  5. AtCoder2362 - Splatter Painting - DFS+思维

    1.题目描述: B - Splatter Painting Time limit : 2sec / Memory limit : 256MB Score : 700 points Problem St ...

  6. AGC 012 B - Splatter Painting

    题面在这里! (显然首先想到反着做比较简单,每个点取第一次被覆盖到的颜色) 发现d非常小,那么是否可以暴力覆盖呢??? 考虑一个稠密图..暴力肯定就gg了啊... 不过我们可以对每一个点 i 记一个m ...

  7. Atcoder #2362 Splatter Painting(dfs+优化)

    原题链接(vjudge上的) 这道题的大意是:对于一个无向图,有n个节点和m条边,每个操作将与节点v的距离小于等于d的节点涂为颜色c.n,m,p<=105n,m,p,d<=10d. 给出输 ...

  8. Splatter Painting题目代码

    题目源:http://agc012.contest.atcoder.jp/tasks/agc012_b 存边的方法我就不说了 这题的做法说白了就是强暴力+优化 染色从后往前染(不解释) 对于每个点,标 ...

  9. 【DP】AGC012B Splatter Painting

    分析: 很简单的DP水题. 定义DP(i,j)=(x,y)DP(i,j)=(x,y)DP(i,j)=(x,y)表示在i号点,将其周围j个格子全部转化为颜色y,其优先级为x的最优先操作. 只不过有点不同 ...

最新文章

  1. 那位13岁就当上老板的开发者是如何炼成的?
  2. java 监听队列_spring+activemq实战之配置监听多队列实现不同队列消息消费
  3. c++ 输出二进制_【位运算与状态压缩】二进制的魅力
  4. Python输出中文乱码问题
  5. How to get ABAP code coverage result
  6. 安装Kubernetes V1.18.2
  7. 蓝魔i11pro运行linux,不仅仅是变大了 蓝魔i11pro新玩法
  8. 第二届360杯全国大学生信息安全技术大赛部分解题思路(加密解密题)
  9. Git教程之一个团队如何在github上协作开发
  10. python 生孩子朋友圈_生娃报喜朋友圈文案 孩子出生发朋友圈的话
  11. eoLinker-API_Shop_知识类API调用的代码示例合集:驾考题库、ISBN书号查询、万年历查询等...
  12. [转载] 之前碰过的木马分析
  13. python复数类型输出实部和虚部_python 获取复数的实部虚部
  14. 树莓派python图形化编程_BlockPi: 树莓派图形化编程软件,轻松控制GPIO、SenseHAT、Picamera等硬件。...
  15. SpringSecurity实现动态鉴权
  16. 卸载电脑右下角闪烁的游戏图标的教程
  17. js实现 MD5加密
  18. 最近远景论坛打不开修改hosts
  19. 全球及中国聚氨酯热固性弹性体(TSU)行业研究及十四五规划分析报告
  20. 软考高级-系统架构师-企业信息化战略与实施

热门文章

  1. GIF动图制作网站!
  2. 信号完整性分析5——信号上升时间
  3. JavaScript用Math.asin()求反正弦值
  4. SLF4J中的桥接器与源码剖析
  5. python n维向量向任意方向旋转,求旋转矩阵
  6. win7 开启无线网
  7. 从CSDN博客到出书,我的新书《SQL编程思想》是这样诞生的
  8. 微信公众号自定义菜单失效,无法设置的解决方法
  9. 基于三维GIS技术的公路交通数字孪生系统
  10. C语言strlen()函数用法