Codeforces Round #530 (Div. 2) C D
C:
*可以保留删除或者增加
? 保留或者删除
- #include<bits/stdc++.h>
- using namespace std;
- int main(){
- string s;
- int k,len;
- cin>>s>>k;
- ;
- len = s.size();
- ;j<len;j++){
- if(isalpha(s[j])) sumx++;
- else sumx--;
- }
- if(sumx>k){
- cout<<"Impossible"<<endl;
- }else{
- string ans = "";
- int sum = k-sumx;
- ;j<len-;j++){
- ])){
- ans+=s[j];
- }else{
- ] == '?'){
- if(sum){
- sum--;
- ans+=s[j];
- }
- }] == '*'){
- while(sum){
- sum--;
- ans+=s[j];
- }
- }
- }
- }
- ])){
- ans+=s[len-];
- }
- if(ans.size()==k) cout<<ans<<endl;
- else{
- cout<<"Impossible"<<endl;
- }
- }
- ;
- }
D:
把深度为偶数的节点隐藏掉(-1) 给出每个节点的父亲以及这个点到 根部的 value值总和 包括自己在内 求这棵树最小的value总和
- #include<bits/stdc++.h>
- using namespace std;
- #define maxn 100005
- #define inf 99999999999999
- #define LL long long
- #define debug(x) cout<<x<<endl
- vector<LL>q[maxn];
- LL a[maxn],ans[maxn],va=;
- ;
- void dfs(LL u,LL fa,LL deep){
- ==){
- LL mi = inf;
- ;j<q[u].size();j++){
- mi = min(mi,a[q[u][j]]);
- }
- if(mi==inf){
- ans[u] = ;
- a[u] = a[fa];
- }else{
- a[u] = mi;
- ans[u] = a[u] - a[fa];
- }
- }else{
- ){
- ans[u] = a[u] - a[fa];
- }
- }
- ;j<q[u].size();j++){
- int v = q[u][j];
- dfs(v,u,deep+);
- }
- }
- int main(){
- LL n;
- scanf("%lld",&n);
- ;j<=n;j++){
- LL x;
- scanf("%d",&x);
- q[x].push_back(j);
- }
- ;j<=n;j++){
- scanf("%lld",&a[j]);
- }
- ans[]=a[];
- dfs(,,);
- ;j<=n;j++){
- va+=ans[j];
- //cout<<ans[j]<<endl;
- ){
- cout<<"-1"<<endl;
- ;
- }
- }
- cout<<va<<endl;
- }
Codeforces Round #530 (Div. 2) C D的更多相关文章
- Codeforces Round #530 (Div. 2) F (树形dp+线段树)
F. Cookies 链接:http://codeforces.com/contest/1099/problem/F 题意: 给你一棵树,树上有n个节点,每个节点上有ai块饼干,在这个节点上的每块饼干 ...
- Codeforces Round #530 (Div. 2) A,B,C,D
A. Snowball 链接:http://codeforces.com/contest/1099/problem/A 思路:模拟 代码: #include<bits/stdc++.h> ...
- Codeforces Round #530 (Div. 2):D. Sum in the tree (题解)
D. Sum in the tree 题目链接:https://codeforces.com/contest/1099/problem/D 题意: 给出一棵树,以及每个点的si,这里的si代表从i号结 ...
- Codeforces Round #530 (Div. 2) F 线段树 + 树形dp(自下往上)
https://codeforces.com/contest/1099/problem/F 题意 一颗n个节点的树上,每个点都有\(x[i]\)个饼干,然后在i节点上吃一个饼干的时间是\(t[i]\) ...
- Codeforces Round #530 (Div. 2)F Cookies (树形dp+线段树)
题:https://codeforces.com/contest/1099/problem/F 题意:给定一个树,每个节点有俩个信息x和t,分别表示这个节点上的饼干个数和先手吃掉这个节点上一个饼干的的 ...
- Codeforces Round #530 (Div. 2)
RANK :2252 题数 :3 补题: D - Sum in the tree 思路:贪心 把权值放在祖先节点上 ,预处理 每个节点保存 他与他儿子中 权值最小值即可. 最后会有一些叶子节点依旧为 ...
- Codeforces Round #530 Div. 1 自闭记
A:显然应该让未确定的大小尽量大.不知道写了啥就wa了一发. #include<iostream> #include<cstdio> #include<cmath> ...
- Codeforces Round #530 (Div. 2) F - Cookies
F - Cookies 思路:我们先考虑如何算出在每个节点结束最多能吃多少饼干, 这个dfs的时候用线段树维护一下就好了, 然后有个这个信息之后树上小dp一下就好啦. #include<bits ...
- Codeforces Round #530 (Div. 1)
A - Sum in the tree 就是贪心选尽量让上面的点权尽量大,那么对于偶数层的点,其到根节点的和即为所有儿子中的最大值. #include<bits/stdc++.h> usi ...
随机推荐
- c/c++ 网络编程 UDP 设定MTU
网络编程 UDP 设定MTU MTU(Maximun Transmisson Unit):一次送信的最大size. 在程序里动态改变MTU.注意:程序运行需要root权限. 程序运行的方法: sudo ...
- python3 多线程的使用
示例1: import threadingfrom time import sleep class forThread(threading.Thread): def __init__(self, ev ...
- Cs231n-assignment 2作业笔记
assignment 2 assignment2讲解参见: https://blog.csdn.net/BigDataDigest/article/details/79286510 http://ww ...
- Pycharm 消除波浪线
转载:https://blog.csdn.net/youyouran12314/article/details/77719261 Pycharm环境下显示 在代码中显示许多波浪线,查看详情显示Spel ...
- django 模型层(2)
Django 模型层(2) 多表操作---模型之间的关系 1 一对一:作者----作者详细信息 2 一对多:书籍----出版社 3 多对多:书籍----作者 一 创建模型(主键(id)自动创建) 没 ...
- .NET CORE学习笔记系列(4)——ASP.NET CORE 程序启用SSL
一.什么是SSL? 1.概念: SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数 ...
- spark读写hbase性能对比
一.spark写入hbase hbase client以put方式封装数据,并支持逐条或批量插入.spark中内置saveAsHadoopDataset和saveAsNewAPIHadoopDatas ...
- Java之匿名内部类详解
前言 本文讲解Java中最后一种内部类,叫做匿名内部类.顾名思义,所谓的匿名内部类就是一个没有显式的名字的内部类,在实际开发中,此种内部类用的是非常多的. 匿名内部类 本质:匿名内部类会隐式的继承一个 ...
- elementUI el-select 中disabled设置
<el-select v-model="userForm.roleName" placeholder="请选择用户角色" :disabled=" ...
- 启动Hadoop总是需要输入密码的问题.
start-all.sh 总是需要输入当前密码. 一开始以为是权限不够. 1.修改sudo配置文件 sudo visudo 增加 hduser ALL=(ALL) NOPASSWD:ALL 解决了 权 ...