SRM 638 Div2
2333.。。
因为TC过少的参与者。加上不断fst 我掉了div2该。
幸运的是完成的背div1该。。
250
水的问题
500
水的问题。。
直接bfs扩展即可了
注意判重。 我还用康托展开了真是多此一举。。
1000
这题理解错题意了。。
我说看别人代码怎么看着不正确劲来着
只是还是很easy的一道题
二进制枚举烧哪些叶子结点
然后对每种烧法
求最短路
求完最短路,枚举边
如果边的两个结点是u,v权值为w
就求最大的(dis[u]+dis[v]+w )/2就是烧完的时间
为啥这样呢
如果某边是最后被烧掉的,有两种情况
一种是u,v分别都是由别的结点传来的火烧过来的
一种是u被v传来的火烧过来的
第一种。最好还是设dis[u] > dis[v]
答案就是( L-(dis[u] - dis[v]) ) / 2 + dis[u] = (dis[u] + dis[v] + L) / 2
另外一种
dis[v] + L = dis[u]
那么相同dis[u] = (dis[v] + L + dis[u]) / 2
二者都能够用这个表示了
然后为了方便我们就不除以2了
struct node {
int v, w;
node () {}
node (int _v, int _w) {v = _v; w = _w;}
};
vector<node>g[22];
int ind[22], lea[22], pos[22], d[22], vis[22], q[1111];
set<int> s;
class CandleTimerEasy
{
public:
int differentTime(vector <int> A, vector <int> B, vector <int> len)
{
int n = A.size() + 1;
for(int i = 0; i < n; i++) g[i].clear();
memset(ind, 0, sizeof(ind));
for(int i = 0; i < n - 1; i++) {
g[A[i]].push_back(node(B[i], len[i]));
g[B[i]].push_back(node(A[i], len[i]));
++ind[A[i]]; ++ind[B[i]];
}
s.clear();
int cnt = 0;
memset(pos, -1, sizeof(pos));
for(int i = 0; i < n; i++) {
if(ind[i] == 1) {
lea[cnt] = i;
pos[i] = cnt;
cnt++;
}
}
for(int sta = 1; sta < (1 << cnt); sta ++) {
int h = 0, t = 0;
for(int i = 0; i < n; i++) {
d[i] = INF; vis[i] = 0;
if(pos[i] != -1) {
if(sta & (1 << pos[i])) {
q[t++] = i;
d[i] = 0;
vis[i] = 1;
}
}
}
while(h < t) {
int u = q[h++];
vis[u] = 0;
for(int i = 0; i < g[u].size(); i++) {
int v = g[u][i].v;
int w = g[u][i].w;
if(d[u] + w < d[v]) {
d[v] = d[u] + w;
if(!vis[v]) {
q[t++] = v;
vis[v] = 1;
}
}
}
}
int mx = 0;
for(int i = 0; i < n - 1; i++) mx = max(mx, d[A[i]] + d[B[i]] + len[i]);
s.insert(mx);
}
return (int)s.size();
}
}
版权声明:本文博客原创文章。博客,未经同意,不得转载。
SRM 638 Div2的更多相关文章
- SRM 657 DIV2
-------一直想打SRM,但是感觉Topcoder用起来太麻烦了.题目还是英文,不过没什么事干还是来打一打好了.但是刚注册的号只能打DIV2,反正我这么弱也只适合DIV2了.. T1: 题目大意: ...
- Topcoder Srm 673 Div2 1000 BearPermutations2
\(>Topcoder \space Srm \space 673 \space Div2 \space 1000 \space BearPermutations2<\) 题目大意 : 对 ...
- Topcoder Srm 671 Div2 1000 BearDestroysDiv2
\(>Topcoder \space Srm \space 671 \space Div2 \space 1000 \space BearDestroysDiv2<\) 题目大意 : 有一 ...
- 记第一次TopCoder, 练习SRM 583 div2 250
今天第一次做topcoder,没有比赛,所以找的最新一期的SRM练习,做了第一道题. 题目大意是说 给一个数字字符串,任意交换两位,使数字变为最小,不能有前导0. 看到题目以后,先想到的找规律,发现要 ...
- Topcoder srm 632 div2
脑洞太大,简单东西就是想复杂,活该一直DIV2; A:水,基本判断A[I]<=A[I-1],ANS++; B:不知道别人怎么做的,我的是100*N*N;没办法想的太多了,忘记是连续的数列 我们枚 ...
- SRM 592 DIV2 报告
昨天下午查看邮箱,看到了topcoder的SRM比赛通知和cf的比赛通知,当时什么也不想做,心里空荡荡的,忽然就想参加一下,试试看.吃完晚饭回来一看,就剩十几分钟了,匆忙把平台下了,就开始等待比赛开始 ...
- SRM 670 div2 A B C div1 A(贪心,子问题合并)
A Cdgame brute force... B Drbalance 贪心,每次选最前面的-变成+,相当于后面所有的负值+2. C Treestrat 考虑集中去抓一个Red Token,以这个To ...
- topcpder SRM 664 div2 A,B,C BearCheats , BearPlays equalPiles , BearSorts (映射)
A题,熊孩子测视力,水题,题意就是判断一下两个数对应位不相同的数字有多少个. #include<bits/stdc++.h> using namespace std; class Bear ...
- topcoder SRM 628 DIV2 BracketExpressions
先用dfs搜索所有的情况,然后判断每种情况是不是括号匹配 #include <vector> #include <string> #include <list> # ...
随机推荐
- HDU 1599 find the mincost route (无向图floyd最小环详解)
转载请注明出处:http://blog.csdn.net/a1dark 分析:终于弄懂了floyd的原理.以前的理解一直肤浅.所以一做到floyd应用的题.就拙计了.其实floyd的本质DP.利用前K ...
- 《Swift Programming Language 》——Swift中怎样使用继承(Inheritance)
一个类能够继承(inherit)还有一个类的方法(methods),属性(property)和其他特性.当一个类继承其他类时,继承类叫子类(subclass),被继承类叫超类(或父类,supercla ...
- 华为手机logcat不出日志解决方案
解决方法:在拨打电话界面,录入*#*#2846579#*#* 自动进入开发界面菜单,进入第一个,选择开启logcat.
- 免插件打造wordpress投稿页面
一.新建投稿页面模板 把主题的 page.php 另存为 tougao.php,并且在第一行的 <?php 之后添加模板的标识注释: /* Template Name: tougao */ 紧接 ...
- HttpWebRequest 基础连接已经关闭: 接收时发生错误
HttpWebRequest request = null; Stream webStream = null; HttpWebResponse response = null; StreamReade ...
- 重操JS旧业第六弹:基本类型包装
在前面已经知道js中的类型有boolean,string,number,undefined,function,object,其中boolean,number,string为值类型.所谓的基本类型包装, ...
- js正则验证手机号码有效性
验证130-139,150-159,180-189号码段的手机号码 <script type="text/javascript"> [-]{})|([-]{})|([- ...
- javascript 变量转义
$(this).append('<a href="2-1partner.html"><div><img width="645" h ...
- http协议与web本质
当你在浏览器地址栏敲入“http://www.csdn.net/”,然后猛按回车,呈现在你面前的,将是csdn的首页了(这真是废话,你会认为这是理所当然的).作为一个开发者,尤其是web开发人员,我想 ...
- 张佩的Dump服务
[亦请参考: http://www.yiiyee.cn/Blog/dumpservice/ ] 张佩提供 有偿但 价格极低的Dump文件分析服务 ! . 如果你有一个Dump文件——不管是应用程序还是 ...