替换函数

#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偏差排列

最新文章

  1. JSP九大内置对象及四个作用域
  2. BZOJ 3784: 树上的路径
  3. css3 动画的有关属性
  4. 使用Jekyll在Github上搭建博客
  5. 验证证书的安装之外部用户PC
  6. Linux下安装和配置java开发环境(jdk/eclipse/tomcat)
  7. storm的功能、三大应用
  8. svn-主副分支使用
  9. Hibernate的Session会话中get()和load()方法的区别
  10. BZOJ 1025: [SCOI2009]游戏( 背包dp )
  11. 【2017-02-24】循环嵌套、跳转语句、异常语句、迭代穷举、while
  12. Swing使用JavaFXweb组件
  13. iOS中 扫描二维码/生成二维码详解 韩俊强的博客
  14. Commander
  15. IntelliJ IDEA2017 + tomcat 即改即生效 实现热部署
  16. javax.el.PropertyNotFoundException: Property &#39;know_id&#39; not found on type java.lang.String
  17. Linux基本操作指令
  18. (转)拉姆达表达式(Lambda Expressions) =&gt;写法的涵义
  19. 重点:QObject 的拷贝构造和赋值操作——私有
  20. 用pyqt5做一个能python程序能插入图片的ide

热门文章

  1. jQuery练习:表单模态框
  2. linux中文man手册安装
  3. 第一节:web爬虫之requests
  4. 【DEBUG】 Visual Studio 2005 DEBUG集
  5. 【ACM】nyoj_6_喷水装置(1)_201308150853
  6. SSH框架之Struts(3)——Struts的执行流程之核心方法
  7. JS 缓冲运动 带运动的留言本 小案例
  8. ubuntu下的代码格式化工具
  9. MongoDB学习笔记一:MongoDB的下载和安装
  10. SetWindowPos函数详解