A. Timofey and a tree

这个不算是dp,就是一个思维题,好难想的思维题,看了题解才写出来的,

把点和边分开,如果一条边的两个点颜色不同就是特殊边,特殊边两边连的点就叫特殊点,

如果一个点的被计算的次数等于特殊边的次数,则说明它是我们所求的点

#include <cstdio>
#include <cstdlib>
#include <queue>
#include <vector>
#include <cstring>
#include <algorithm>
#define inf 0x3f3f3f3f
using namespace std;
typedef long long ll;
const int maxn = 1e5 + ;
int num[maxn], a[maxn];
pair<int, int>pii[maxn]; int main()
{
int n;
scanf("%d", &n);
for(int i=;i<n;i++)
{
int u, v;
scanf("%d%d", &u, &v);
pii[i] = make_pair(u, v);
}
int ans = ;
for (int i = ; i <= n; i++) scanf("%d", &a[i]);
for(int i=;i<n;i++)
{
int u = pii[i].first, v = pii[i].second;
if(a[u]!=a[v])
{
num[u]++;
num[v]++;
ans++;
}
}
for(int i=;i<=n;i++)
{
if(num[i]==ans)
{
printf("YES\n");
printf("%d\n",i);
return ;
}
}
printf("NO\n");
return ;
}

A

A. Chain Reaction

这个我觉得挺难的。。。。

网上题解,dp[i]来表示激活第i个位置,从前面往后推到第i个位置,这个塔存留下来的数量。

这个是线性的,后面那个位置都是由前面的那个位置推过来的,如果我们选了后面那个位置,如果后面的无法把前面的那个位置炸掉

那么只能不炸,或者由最后添加的那个点来炸掉之前你需要炸掉的区间。

这个题目简单,是因为可以转化成线性的,不过我觉得好难想。

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <queue>
#include <vector>
#include <algorithm>
#define inf 0x3ff3f3f
using namespace std;
const int maxn = 1e6 + ;
int d[maxn], dp[maxn];
int main()
{
int n;
scanf("%d", &n);
int mm = ;
for(int i=;i<=n;i++)
{
int a;
scanf("%d", &a);
scanf("%d", &d[a]);
mm = max(mm, a);
}
if (d[]) dp[] = ;
int res = min(n, n - dp[]);
for(int i=;i<=mm;i++)
{
if (d[i] == ) dp[i] = dp[i - ];
else {
if (d[i] >= i) dp[i] = ;
else {
dp[i] = dp[i - - d[i]] + ;
}
}
res = min(res, n - dp[i]);
}
printf("%d\n", res);
return ;
}

A

最新文章

  1. 安装和卸载windows服务 bat
  2. JavaScript数组类型
  3. redis清空缓存
  4. 【转】【MySQL】mysql 通过bin-log恢复数据方法详解
  5. js 中 toString( ) 和valueOf( )
  6. MySQL之aborted connections和aborted clients
  7. StringIO 模块用于在内存缓冲区中读写数据
  8. [转载]poi导出excel,可以自定义保存路径
  9. html进阶css(5)
  10. Ubuntu15.04上为火狐浏览器安装Adobe Flash Player插件
  11. 统计细菌基因组ORF
  12. Gitlab仓库搭建及在linux/windows中免密使用gitlab(二)--技术流ken
  13. CentOS 7 的安装
  14. 【二分】Producing Snow @Codeforces Round #470 Div.2 C
  15. Windows 环境下 wampserver 与 phpStudy 的环境配置
  16. C#6.0语言规范(二) 词法结构
  17. ubuntu下 远程连接windows服务器工具Remmina
  18. SAP PA认证
  19. [No0000149]ReSharper操作指南6/16-编码协助之其他协助
  20. docker Dockerfile 创建镜像

热门文章

  1. Thinking in Java,Fourth Edition(Java 编程思想,第四版)学习笔记(六)之Initialization &amp; Cleanup
  2. 绝地求生模拟登陆!高难度JS解密教程,Python高级爬虫开发,
  3. 多线程高并发编程(5) -- CountDownLatch、CyclicBarrier源码分析
  4. 阿里面试官让我实现一个线程安全并且可以设置过期时间的LRU缓存,我蒙了!
  5. 痞子衡嵌入式:简析i.MXRT1170 Cortex-M4 L-MEM ECC功能特点、开启步骤、性能影响
  6. Mysql中的一些类型
  7. css3--:target选择器称为目标选择器
  8. tp5 auth权限的原理
  9. tp5.0--多个条件查询全部数据
  10. PHPSTORM快捷键On Mac