考试总结 模拟28(W)
心得:
状态极差,都怪放假,上一套的T3没改完,今天考试没有一点状态,开学恐惧症。(不恐惧作业或一调但还是很茫然)
T1能A掉实在是意外,杂题T1没做过,可能是人品守恒,(丢了钱今天才发现以后一定锁柜子QAQ),贪心不会证,凭感觉一点点瞎搞
T2和T3基本很颓很困,打了两个暴力都没调出来,恶心的题意,话说skyh口中很显然的dp式子很显然,但没有去想。
总之唯一想说的就是赶紧找到状态,即将进入高考奥赛双向战斗时期,紧张度和常规要提升
题解
T1我的做法真的很玄
输入(0,1)边权记为1,(1,1)记为3,(×,0)记为2
我们考虑一下 叶子节点和它父亲 ,如果将两个边权为1的一块处理,显然要比分别处理更优,而且要尽可能的去多处理,所以最后会剩至多一个待处理,
那这个怎么办?接着扔上去等着处理呗。
从1开始dfs,对于每个点,看它的每个儿子和相连两者的边,
分情况,这个边权k==1时,不管下面有没有剩,这个边仍要上去接着处理,(下面至多会剩一个,当然可以一块处理)
k==2的话可以接着往上考虑,
k==3想一个贪心,如果让这个边翻过来再反回去,不会比 直接处理剩的 更优,所以k==3时,直接把有剩的直接贡献到ans里就好
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<queue>
#include<vector>
#define R register
using namespace std;
inline int read()
{
int f=,x=;char ch=getchar();
while(ch>''||ch<''){if(ch=='-')f=-;ch=getchar();}
while(ch<=''&&ch>=''){x=(x<<)+(x<<)+(ch^);ch=getchar();}
return f*x;
}
const int maxn=;
struct node{
int v,nxt,da;
}e[*maxn];int h[maxn],nu;
void add(int x,int y,int fl)
{
e[++nu].v=y;
e[nu].da=fl;
e[nu].nxt=h[x];
h[x]=nu;
}
int n,f[maxn],ans;
int dfs(int x,int xf)
{
int cnt=;
for(int i=h[x];i;i=e[i].nxt)
{
int y=e[i].v,k=e[i].da;
if(y==xf)continue;
int nw=dfs(y,x);
//cout<<x<<" "<<y<<" "<<k<<endl;
if(k==){cnt++;continue;}
if(!nw)continue;
if(k==)ans++;
else cnt++;
}
ans+=cnt/;
if(cnt%==)return ;
return ;
}
int main()
{
//freopen("data","r",stdin);
n=read();
int qj1=,num1=;
for(int x=;x<=n;++x)
{
int y=read(),s=read(),t=read(),fl;
if(y!=)qj1=;
if(t==)fl=;
if(s==&&t==)num1++,fl=;
if(s==&&t==)fl=;
add(x,y,fl);
add(y,x,fl);
}
if(qj1){printf("%d\n",(num1+)/);return ;}
int nw=dfs(,);
ans+=nw;
printf("%d\n",ans);
}/*
g++ 1.cpp -o 1
./1 */
考试总结 模拟28(W)的更多相关文章
- 考试总结 模拟27(W)
心得:太弱了,T1问题:理解错了题,矿石可以放到同一处,,太弱了,小凯的疑惑,没什么印象T2问题:拆式子T3问题:换根dp的思想模拟9T1+T2
- Linux rhcsa认证考试试题模拟
声明: 此套试题是2017年rhcsa考试题库,本题库需配合相对应的机器操作,实验环境在我的网盘下载 考试环境: server.group8.example.com 172.24.8.254/24 s ...
- HDU 2093 考试排名 模拟题
解题报告: 题目描述:写一个程序给一个编程考试C++实时提交系统排名,给你的数据是题目的总数,每次错误提交罚的时间分,每位用户的姓名,然后是输入用户每题的完成情况,有一下几种情况,第一,输入只有一个正 ...
- 2016 10 26考试 NOIP模拟赛 杂题
Time 7:50 AM -> 11:15 AM 感觉今天考完后,我的内心是崩溃的 试题 考试包 T1: 首先看起来是个贪心,然而,然而,看到那个100%数据为n <= 2000整个人就虚 ...
- NOIP模拟 28
果然昨天和别人合照丢的脸今天都加进RP里了 T3是用了dp快速幂(???),T1,T2考试的时候把想法都写注释了. T1: #include<cstdio> using namespace ...
- [考试]NOIP2015模拟题2
// 此博文为迁移而来,写于2015年7月22日,不代表本人现在的观点与看法.原始地址:http://blog.sina.com.cn/s/blog_6022c4720102w72i.html 1.总 ...
- NOIP 模拟 $28\; \rm 遗忘之祭仪$
题解 \(by\;zj\varphi\) 直接贪心模拟即可,对于每个点,如果它未被覆盖,直接在这覆盖一次. 每个黑点只会被扫一次,所以总复杂度为 \(\mathcal O\rm (nm)\) Code ...
- [CSP-S模拟测试]:w(树上DP)
题目背景 $\frac{1}{4}$遇到了一道水题,双完全不会做,于是去请教小$D$.小$D$看了${0.607}^2$眼就切掉了这题,嘲讽了$\frac{1}{4}$一番就离开了.于是,$\frac ...
- HZOI20190821模拟28题解
题面:https://www.cnblogs.com/Juve/articles/11390839.html 所有官方正解在我的文件里 A. 虎 算法1:我们发现非关键边与黑色边去掉以后,答案就是将所 ...
随机推荐
- 元素显示v-show
<!DOCTYPE html> <html lang="zh"> <head> <title></title> < ...
- 2018CCPC吉林赛区 | 部分题解 (HDU6555 HDU6556 HDU6559 HDU6561)
// 杭电上的重现赛:http://acm.hdu.edu.cn/contests/contest_show.php?cid=867 // 杭电6555~6566可交题 A - The Fool 题目 ...
- python学习笔记3.2_数据导出
一.data.to_csv:数据导出 1.to_csv:将数据导出为逗号分隔的文件 2.输出为其他分隔符的文件 写入到控制台,并打印:sys.stdout na_rep:对空值进行标注 二.serie ...
- 基于用户的最近邻协同过滤算法(MovieLens数据集)
基于用户的最近邻算法(User-Based Neighbor Algorithms),是一种非概率性的协同过滤算法,也是推荐系统中最最古老,最著名的算法. 我们称那些兴趣相似的用户为邻居,如果用户 ...
- 2018-12-6-Roslyn-如何基于-Microsoft.NET.Sdk-制作源代码包
title author date CreateTime categories Roslyn 如何基于 Microsoft.NET.Sdk 制作源代码包 lindexi 2018-12-06 16:2 ...
- Leetcode938. Range Sum of BST二叉搜索树的范围和
给定二叉搜索树的根结点 root,返回 L 和 R(含)之间的所有结点的值的和. 二叉搜索树保证具有唯一的值. 示例 1: 输入:root = [10,5,15,3,7,null,18], L = 7 ...
- HZOI2019 A. 那一天我们许下约定 dp
题目大意:https://www.cnblogs.com/Juve/articles/11219089.html 读这道题的题目让我想起了... woc我到底在想什么?好好写题解,现在不是干那个的时候 ...
- select有条件in要按照in中的数据排序
mybatis中的写法 <select id="selectByIds" resultType="com.hoohui.electronic.util.ExHash ...
- 获取请求header的各种方法
部分代码非原创 不定期更新 PHP function get_all_header() { // 忽略获取的header数据.这个函数后面会用到.主要是起过滤作用 $ignore = array(' ...
- android服务的bindService/startService
1,高版本android已经不允许只通过action来bindService/startService,可以通过: intent.setPackage("XXXX"); 来指定服务 ...