前言:

这场太难了……我一个紫名只打出两题……(虽说感觉的确发挥不够好)

一群蓝绿名的dalao好像只打了两题都能升分的样子……

庆幸的是最后A出锅然后unr了>///<

写一波题解纪念这次失败的edu吧。


A

看起来很像sb题……实则细节巨多……

一开始分了六类就过了……

然后重测一遍就挂了……所以出题人做错自己出的题了?

注意特判三角形在圆里又在一个正方形的情况,会少一个点。


B

一开始想的是把相同的字母压一起,然后按ace...ybdf...z这样排。

然而出现一些毒瘤还是不行,然后就一直在想调换首位什么的,一直挂一直挂……

最后还是zz先切了……在奇数中选一个,偶数中选一个,它们不相邻,然后奇序列和偶序列之间插入这两个,就不会有这种问题了。


C

一眼贪心,一发WA。这么简单的正解没想到……

二分,每次把 $i(1\le i\le mid)$ 和 $n-mid+i$ 匹配看看行不行。


D

看起来是个树形dp,$f[u][0/1/2/3]$ 表示从下往上到 $u$ 分别是全 $0$,全 $1$,先 $0$ 再 $1$,先 $1$ 再 $0$ 的路有多少。

赛场上想出了然而打炸了……赛后又调出来了……。

具体转移看代码吧,应该能看懂的。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int> PII;
const int maxn=;
#define MP make_pair
#define PB push_back
#define lson o<<1,l,mid
#define rson o<<1|1,mid+1,r
#define FOR(i,a,b) for(int i=(a);i<=(b);i++)
#define ROF(i,a,b) for(int i=(a);i>=(b);i--)
#define MEM(x,v) memset(x,v,sizeof(x))
inline ll read(){
char ch=getchar();ll x=,f=;
while(ch<'' || ch>'') f|=ch=='-',ch=getchar();
while(ch>='' && ch<='') x=x*+ch-'',ch=getchar();
return f?-x:x;
}
int n,el,head[maxn],to[maxn],w[maxn],nxt[maxn];
ll f[maxn][],ans;
inline void add(int a,int b,int c){
to[++el]=b;nxt[el]=head[a];head[a]=el;w[el]=c;
}
void dfs(int u,int F){
ll s=;
for(int i=head[u];i;i=nxt[i]){
int v=to[i];
if(v==F) continue;
dfs(v,u);
if(w[i]){
s+=f[u][]*(f[v][]+);
s+=f[u][]*(f[v][]+*f[v][]+f[v][]+);
s+=f[u][]*(f[v][]+);
s+=f[v][]+*f[v][]+f[v][]+;
f[u][]+=f[v][]+;
f[u][]+=f[v][]+f[v][];
}
else{
s+=f[u][]*(*f[v][]+f[v][]+f[v][]+);
s+=f[u][]*(f[v][]+);
s+=f[u][]*(f[v][]+);
s+=*f[v][]+f[v][]+f[v][]+;
f[u][]+=f[v][]+;
f[u][]+=f[v][]+f[v][];
}
}
ans+=s;
}
int main(){
n=read();
FOR(i,,n-){
int u=read(),v=read(),w=read();
add(u,v,w);add(v,u,w);
}
dfs(,);
cout<<ans;
}

后面的,以后会做了再说吧……

Educational Round 64 题解的更多相关文章

  1. Codeforces Educational Round 33 题解

    题目链接   Codeforces Educational Round 33 Problem A 按照题目模拟,中间发现不对就直接输出NO. #include <bits/stdc++.h> ...

  2. Educational Round 66 题解

    作为橙名来水了一发…… 这次题目就比上次良心多了.7题有5题会做. 然而风格仍然很怪异……还是练少了? A 水题.不过一开始没注意细节挂了几发,罚时罚的真痛…… 明显是能除以 $k$ 就除以 $k$, ...

  3. Educational Codeforces Round 64 (Rated for Div. 2)题解

    Educational Codeforces Round 64 (Rated for Div. 2)题解 题目链接 A. Inscribed Figures 水题,但是坑了很多人.需要注意以下就是正方 ...

  4. Educational Codeforces Round 64 部分题解

    Educational Codeforces Round 64 部分题解 不更了不更了 CF1156D 0-1-Tree 有一棵树,边权都是0或1.定义点对\(x,y(x\neq y)\)合法当且仅当 ...

  5. Educational Codeforces Round 64部分题解

    Educational Codeforces Round 64部分题解 A 题目大意:给定三角形(高等于低的等腰),正方形,圆,在满足其高,边长,半径最大(保证在上一个图形的内部)的前提下. 判断交点 ...

  6. Educational Codeforces Round 64(ECR64)

    Educational Codeforces Round 64 CodeForces 1156A 题意:1代表圆,2代表正三角形,3代表正方形.给一个只含1,2,3的数列a,ai+1内接在ai内,求总 ...

  7. CF Educational Round 78 (Div2)题解报告A~E

    CF Educational Round 78 (Div2)题解报告A~E A:Two Rival Students​ 依题意模拟即可 #include<bits/stdc++.h> us ...

  8. [Educational Round 5][Codeforces 616F. Expensive Strings]

    这题调得我心疲力竭...Educational Round 5就过一段时间再发了_(:з」∠)_ 先后找了三份AC代码对拍,结果有两份都会在某些数据上出点问题...这场的数据有点水啊_(:з」∠)_[ ...

  9. [Educational Round 3][Codeforces 609E. Minimum spanning tree for each edge]

    这题本来是想放在educational round 3的题解里的,但觉得很有意思就单独拿出来写了 题目链接:609E - Minimum spanning tree for each edge 题目大 ...

随机推荐

  1. Eureka的集群配置

    1:步骤说明 2:修改映射配置 3:修改Eureka的.yml配置文件 以其中一个为例 4:在8001中同时注册 5:测试结果

  2. ISO C语言新标准(C11)

    新特性[2]有些和C++11是对应的,如线程和UTF-8: 对齐处理(Alignment)的标准化(包括_Alignas标志符,alignof运算符, aligned_alloc函数以及<std ...

  3. 函数防抖节流的理解及在Vue中的应用

    防抖和节流的目的都是为了减少不必要的计算,不浪费资源,只在适合的时候再进行触发计算. 一.函数防抖 定义 在事件被触发n秒后再执行回调,如果在这n秒内又被触发,则重新计时:典型的案例就是输入搜索:输入 ...

  4. 最简单的 kubernetes 高可用安装方式

    sealos 项目地址:https://github.com/fanux/sealos 本文教你如何用一条命令构建 k8s 高可用集群且不依赖 haproxy 和 keepalived,也无需 ans ...

  5. python 变量作用域、闭包

    先看一个问题: 下面代码输出的结果是0,换句话说,这个fucn2虽然已经用global声明了variable1,但还是没有改变变量的值 def func1(): variable1=0 def fun ...

  6. Bloom’S Taxonomy

    引用:https://www.learning-theories.com/blooms-taxonomy-bloom.html Bloom's Taxonomy is a model that is ...

  7. idea跳转到指定行列快捷键

    快捷键 Ctrl + G :

  8. vue工作原理分析

    初始化 在 new Vue() 时会调⽤用_init()进⾏行行初始化,会初始化各种实例例⽅方法.全局⽅方法.执⾏行行⼀一些⽣生命周期. 初始化props. data等状态.其中最重要的是data的「 ...

  9. Qt中的强制类型转换

    在C++开发中经常要进行数据类型的强制转换. 刚开始学习的时候,直接对基本数据类型强制类型转换,如float fnum = 3.14; int num = (int)fnum; 随着C++标准的发展, ...

  10. Vue+element 修改样式的scoped穿透方法

    我们在修改element的一些样式的时候,在加了scoped的时候会不起作用,下面是解决方案: 解决方法:起一个类名将页面包裹起来,后面加 /deep/ <style scoped> 1 ...