[hihocoder][Offer收割]编程练习赛59
2024-08-24 03:46:53
替换函数
#pragma comment(linker, "/STACK:102400000,102400000")
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<vector>
#include<algorithm>
#include<iostream>
#include<map>
#include<queue>
#include<stack>
#include<string>
#include<functional>
#include<math.h>
//#include<bits/stdc++.h>
using namespace std;
typedef long long lint;
typedef vector<int> VI;
typedef pair<int, int> PII;
typedef queue<int> QI; void makedata() {
freopen("input.txt", "w", stdout);
fclose(stdout);
} string s, d;
char f[]; int main() {
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
#endif
//makedata();
std::ios::sync_with_stdio(), cin.tie();
int t;
cin >> t;
while (t--) {
cin >> s >> d;
int n = s.length();
memset(f, , sizeof(f));
bool ok = true;
for (int i = ; i < n; i++) {
if (f[s[i]] == ) f[s[i]] = d[i];
else if (f[s[i]] != d[i]) ok = false;
}
if (ok) cout << "YES" << endl;
else cout << "NO" << endl;
}
return ;
}
替换函数2
树的权重
#pragma comment(linker, "/STACK:102400000,102400000")
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<vector>
#include<algorithm>
#include<iostream>
#include<map>
#include<queue>
#include<stack>
#include<string>
#include<functional>
#include<math.h>
//#include<bits/stdc++.h>
using namespace std;
typedef long long lint;
typedef vector<int> VI;
typedef pair<int, int> PII;
typedef queue<int> QI; void makedata() {
freopen("input.txt", "w", stdout);
fclose(stdout);
} VI G[];
lint sum[], sz[], ans[], n;
void dfs(int u, int fa) {
sz[u] = ;
sum[u] = ;
for (int i = ; i < G[u].size(); i++) {
int v = G[u][i];
if (v == fa) continue;
dfs(v, u);
sz[u] += sz[v];
sum[u] += (sum[v] + sz[v]);
}
}
void solve(int u, int fa) {
ans[u] = ans[fa] + n - * sz[u];
for (int i = ; i < G[u].size(); i++) {
int v = G[u][i];
if (v == fa) continue;
solve(v, u);
}
} int main() {
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
#endif
//makedata();
std::ios::sync_with_stdio(), cin.tie();
int u, v;
cin >> n;
for (int i = ; i < n; i++) {
cin >> u >> v;
G[u].push_back(v);
G[v].push_back(u);
}
dfs(, -);
ans[] = sum[];
for (int i = ; i < G[].size(); i++) {
int v = G[][i];
solve(v, );
}
for (int i = ; i <= n; i++) cout << ans[i] << endl;
return ;
}
K偏差排列
最新文章
- JSP九大内置对象及四个作用域
- BZOJ 3784: 树上的路径
- css3 动画的有关属性
- 使用Jekyll在Github上搭建博客
- 验证证书的安装之外部用户PC
- Linux下安装和配置java开发环境(jdk/eclipse/tomcat)
- storm的功能、三大应用
- svn-主副分支使用
- Hibernate的Session会话中get()和load()方法的区别
- BZOJ 1025: [SCOI2009]游戏( 背包dp )
- 【2017-02-24】循环嵌套、跳转语句、异常语句、迭代穷举、while
- Swing使用JavaFXweb组件
- iOS中 扫描二维码/生成二维码详解 韩俊强的博客
- Commander
- IntelliJ IDEA2017 + tomcat 即改即生效 实现热部署
- javax.el.PropertyNotFoundException: Property &#39;know_id&#39; not found on type java.lang.String
- Linux基本操作指令
- (转)拉姆达表达式(Lambda Expressions) =>;写法的涵义
- 重点:QObject 的拷贝构造和赋值操作——私有
- 用pyqt5做一个能python程序能插入图片的ide