当前位置:网站首页>B-jiege's tree (pressed tree DP)
B-jiege's tree (pressed tree DP)
2022-07-06 20:15:00 【Park Xiaoming】
link : Jack's tree
The question :
Given a tree , Border right yes
These six characters , Find different path numbers , The characters on the path are required to appear exactly an even number of times .
practice :
Only care about parity , Then a character can have two states ——1 Represents an odd number of ,0 Represents an even number of , To indicate whether six characters are odd or even at the same time , You can use 0~63 To express .
Definition
In order to
A node is the starting point , Status as
How many paths are there , If
My son is
, The current character is
, that
, Except for the transfer from the son's state , There will be a new state , The state of not inheriting a son ,
To
This side of can also be used as a state alone , Then when
when ,
.
There are also some considerations
As an intermediate node , This simple , from
Calculation is enough .
Code :
struct tree
{
int y, val;
};
vector<tree> v[N];
int f[N][1ll << 6];
int ans;
void dfs(int x, int fa)
{
f[x][0] = 0;
for (auto tt : v[x])
{
int y = tt.y, val = tt.val;
if (y == fa) continue;
dfs(y, x);
for (int i = 0; i < (1ll << 6); i++)
{
f[x][i] += f[y][i ^ (1ll << val)];
if (i == (1ll << val)) f[x][i]++; // Don't add 1, The reason to add 1, Because of the definition x This point has only one side
}
}
ans += f[x][0];
int sum = 0;
for (auto tt : v[x])
{
int y = tt.y, val = tt.val;
if (y == fa) continue;
for (int i = 0; i < (1ll << 6); i++)
{
int x1 = f[x][i] - f[y][i ^ (1ll << val)] - (i == (1ll << val));
int x2 = f[y][i ^ (1ll << val)] + (i == (1ll << val));
sum += x1 * x2;
}
}
ans += sum / 2;
}
void solve()
{
int n;
cin >> n;
for (int i = 1; i <= n - 1; i++)
{
int x, y;
char c;
scanf("%lld%lld", &x, &y);
cin >> c;
v[x].emplace_back(tree{y, c - 'a'});
v[y].emplace_back(tree{x, c - 'a'});
}
dfs(1, 0);
cout << ans << "\n";
}边栏推荐
- A5000 vGPU显示模式切换
- Finally, there is no need to change a line of code! Shardingsphere native driver comes out
- Guangzhou's first data security summit will open in Baiyun District
- Web开发小妙招:巧用ThreadLocal规避层层传值
- PHP与EXCEL PHPExcel
- 数字三角形模型 AcWing 1018. 最低通行费
- BUUCTF---Reverse---easyre
- [network planning] Chapter 3 data link layer (3) channel division medium access control
- Ideas and methods of system and application monitoring
- 范式的数据库具体解释
猜你喜欢
![[Yann Lecun likes the red stone neural network made by minecraft]](/img/95/c3af40c7ecbd371dd674aea19b272a.png)
[Yann Lecun likes the red stone neural network made by minecraft]
Tencent T2 Daniel explained in person and doubled his job hopping salary

语音识别(ASR)论文优选:全球最大的中英混合开源数据TALCS: An Open-Source Mandarin-English Code-Switching Corpus and a Speech

Ideas and methods of system and application monitoring

5. Wireless in vivo nano network: top ten "feasible?" problem

BUUCTF---Reverse---easyre

腾讯字节阿里小米京东大厂Offer拿到手软,老师讲的真棒

【Yann LeCun点赞B站UP主使用Minecraft制作的红石神经网络】

A5000 vgpu display mode switching

(3) Web security | penetration testing | basic knowledge of network security construction, IIS website construction, EXE backdoor generation tool quasar, basic use of
随机推荐
Tencent T3 Daniel will teach you hand-in-hand, the internal information of the factory
腾讯T3手把手教你,真的太香了
Web开发小妙招:巧用ThreadLocal规避层层传值
广州首个数据安全峰会将在白云区开幕
[Yann Lecun likes the red stone neural network made by minecraft]
Tencent Android development interview, basic knowledge of Android Development
POJ1149 PIGS 【最大流量】
An East SMS login resurrection installation and deployment tutorial
Special topic of rotor position estimation of permanent magnet synchronous motor -- Summary of position estimation of fundamental wave model
Cesium 点击绘制圆形(动态绘制圆形)
方法关键字Deprecated,ExternalProcName,Final,ForceGenerate
Tencent byte Alibaba Xiaomi jd.com offer got a soft hand, and the teacher said it was great
B-杰哥的树(状压树形dp)
【计网】第三章 数据链路层(3)信道划分介质访问控制
5. Nano - Net in wireless body: Top 10 "is it possible?" Questions
Transformer model (pytorch code explanation)
使用ssh连接被拒
系统与应用监控的思路和方法
redisson bug分析
Synchronization of data create trigger synchronization table for each site