链接:http://codeforces.com/contest/600

A题:

  字符串处理。

B题:

  sort+upper_bound

C题:

  统计一下每种字符的个数,然后贪心。

  (1) 如果没有奇数个的字母。直接按字典序放。

  (2) 如果有1个奇数个的字母。就把单出来的那一个字符(注意是一个字符,不是所有的那种字母)放中间,其他的按字典序放。

  (3) 如果多与1个奇数个的字母。就把单出来的每种字母的一个按字典序排好,最右边的替换成最左边的,次右边的替换成次左边的……最后情况会转变为(1)或者(2)。

D题:

  计算几何看来必须得用最科学的方法去计算啊……不然真的是卡精度卡到死。原则:能用整数决不用小数,简单题自己推别用板子。

E题:

  map+启发式合并。对于每个节点,维护两个map:M1和M2,分别表示这个子树里面颜色->个数的映射和个数->颜色的和的映射。合并的时候启发式一下就可以了,swap两个map是O(1)的。

#include<bits/stdc++.h>
using namespace std; const int maxn=;
vector<int> G[maxn];
int c[maxn];
map<int,int> M[maxn];
map<int,long long> M2[maxn];
long long res[maxn]; void dfs(int u,int fa)
{
for (int i=;i<(int)G[u].size();i++)
{
int v=G[u][i];
if (v==fa) continue;
dfs(v,u);
if (M[u].size()<M[v].size())
{
swap(M[u],M[v]);
swap(M2[u],M2[v]);
}
for (auto it=M[v].begin();it!=M[v].end();++it)
{
int c=it->first;
M2[u][M[u][c]]-=c;
M[u][c]+=it->second;
M2[u][M[u][c]]+=c;
}
}
res[u]=M2[u].rbegin()->second;
} int main()
{
int n;
scanf("%d",&n);
for (int i=;i<=n;i++) scanf("%d",&c[i]);
for (int i=;i<=n-;i++)
{
int u,v;
scanf("%d%d",&u,&v);
G[u].push_back(v);
G[v].push_back(u);
}
for (int i=;i<=n;i++) M[i][c[i]]=;
for (int i=;i<=n;i++) M2[i][]=c[i];
dfs(,-);
for (int i=;i<=n;i++) printf("%I64d ",res[i]);
return ;
}

problem E

F题:

  题意:给一个二分图,求给边的最少染色数,要求有公共点的边不能同色。输出染色方案。

  用增广链构造……不是很懂(待补)

[codeforces/edu2]总结(F)的更多相关文章

  1. Codeforces #541 (Div2) - F. Asya And Kittens(并查集+链表)

    Problem   Codeforces #541 (Div2) - F. Asya And Kittens Time Limit: 2000 mSec Problem Description Inp ...

  2. Educational Codeforces Round 40 F. Runner's Problem

    Educational Codeforces Round 40 F. Runner's Problem 题意: 给一个$ 3 * m \(的矩阵,问从\)(2,1)$ 出发 走到 \((2,m)\) ...

  3. codeforces Gym 100187F F - Doomsday 区间覆盖贪心

    F. Doomsday Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100187/problem/F ...

  4. Codeforces gym 100685 F. Flood bfs

    F. FloodTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100685/problem/F Desc ...

  5. Codeforces Gym 100513F F. Ilya Muromets 线段树

    F. Ilya Muromets Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100513/probl ...

  6. Educational Codeforces Round 61 F 思维 + 区间dp

    https://codeforces.com/contest/1132/problem/F 思维 + 区间dp 题意 给一个长度为n的字符串(<=500),每次选择消去字符,连续相同的字符可以同 ...

  7. Educational Codeforces Round 51 F. The Shortest Statement(lca+最短路)

    https://codeforces.com/contest/1051/problem/F 题意 给一个带权联通无向图,n个点,m条边,q个询问,询问两点之间的最短路 其中 m-n<=20,1& ...

  8. Codeforces Gym 100513F F. Ilya Muromets 水题

    F. Ilya Muromets Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100513/probl ...

  9. Educational Codeforces Round 12 F. Four Divisors 求小于x的素数个数(待解决)

    F. Four Divisors 题目连接: http://www.codeforces.com/contest/665/problem/F Description If an integer a i ...

随机推荐

  1. 打印队列 (Printer Queue,ACM/ICPC NWERC 2006,UVA12100)

    题目描述: 题目思路: 使用一个队列记录数字,一个优先队列记录优先级,如果相等即可打印: #include <iostream> #include <queue> using ...

  2. 【转】: 探索Lua5.2内部实现:虚拟机指令(1) 概述

    Lua一直把虚拟机执行代码的效率作为一个非常重要的设计目标.而采用什么样的指令系统的对于虚拟机的执行效率来说至关重要. Stack based vs Register based VM 根据指令获取操 ...

  3. 【20180808模拟测试】T2 k-斐波那契

    描述 k-斐波拉契数列是这样的 f(0)=k;f(1)=k;f(n)=(f(n-1)+f(n-2))%P(n>=2); 现在我们已经知道了f(n)=1,和P: k的范围是[1,P); 求k的所有 ...

  4. kaldi - Online Audio Server(服务器客户端建立方法-旧版在线解码)

    目录 一.服务器客户端识别系统建立方法 1. Command line to start the server(服务器端启动方式): 2. Command line to start the clie ...

  5. 应用Response.Write实现带有进度条的多文件上传

    前几天,写过一篇随笔“使用RESPONSE.WRITE实现在页面的生命周期中前后台的交互”.说是交互,实际上也主要是在ASP.NET的页面周期中 从后台利用RESPONSE.WRITE向前台即时的推送 ...

  6. 虚拟机下 rm -rf / 尝试

    环境:虚拟机 系统版本:centOS 5.8.centOS 6.5 1. root权限:rm -rf / 2. root权限:rm -rf /* 测试结果:5.8下执行命令1,2,根目录文件被删除,系 ...

  7. 【转】Linux内核结构详解

    Linux内核主要由五个子系统组成:进程调度,内存管理,虚拟文件系统,网络接口,进程间通信. 1.进程调度 (SCHED):控制进程对CPU的访问.当需要选择下一个进程运行时,由调度程序选择最值得运行 ...

  8. 20162328蔡文琛week01

    学号20162328 <程序设计与数据结构>第1周学习总结 教材学习内容总结 通过练习课本上给出的代码并结合老师所提供教程,熟悉并初步了解Java的基本编辑 教材学习中的问题和解决过程 无 ...

  9. 将MathType公式转换为LaTex格式

    LaTex编辑公式不够直观,常常会因为结构复杂导致数据或者符号出错,使用MathType编辑公式后再直接转换成LaTex代码可以避免这个问题. 一.首先在MathType中编辑公式 二.然后点击参数— ...

  10. LintCode-4.丑数 II

    丑数 II 设计一个算法,找出只含素因子2,3,5 的第 n 大的数. 符合条件的数如:1, 2, 3, 4, 5, 6, 8, 9, 10, 12... 注意事项 我们可以认为1也是一个丑数 样例 ...