准备了很长时间期末考结果还是萎掉了......技术考了年级400名......

【250 IdentifyingWood】一遍找过去就好了...

#include <vector>
#include <list>
#include <map>
#include <set>
#include <queue>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>using namespace std;class IdentifyingWood {
public:string check(string s, string t) {int ls=s.length(),lt=t.length();string ans0="Yep, it's wood.",ans1="Nope.";int flag=0;for (int i=0;i<ls && flag<lt;i++) if (s[i]==t[flag]) flag++;if (flag==lt) return ans0;else return ans1;}
};

【500 QuadraticLaw】求最大的非负整数t使得t^2+t<=d,二分t即可。

#include <vector>
#include <list>
#include <map>
#include <set>
#include <queue>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>using namespace std;class QuadraticLaw {
public:long long times(long long t) {return t*t+t;}long long getTime(long long d) {long long l=0,r=1000000000,mid;while (l<r) if (times(mid=(l+r+1)>>1)<=d) l=mid;else r=mid-1;return l;}
};

【1000】枚举被割的边,此时分成了两棵树,分别对这两个树求直径,加上被割去的边的长度,就得到了当前方案树直径的最大值(将割去边连接到两棵树的直径的端点上)。

#include <vector>
#include <list>
#include <map>
#include <set>
#include <queue>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <cstring>using namespace std;
const int maxn=2010;class LonglongestPathTree {
public:int head[maxn],next[maxn<<1],E[maxn<<1],D[maxn<<1],Ecnt;int vis[maxn];inline void Add_Edge(int a,int b,int len){Ecnt++;next[Ecnt]=head[a];head[a]=Ecnt;E[Ecnt]=b;D[Ecnt]=len;Ecnt++;next[Ecnt]=head[b];head[b]=Ecnt;E[Ecnt]=a;D[Ecnt]=len;}int Q[maxn];long long dis[maxn];void BFS(int stx,int va,int vb,int &maxv){memset(dis,0,sizeof(dis));memset(vis,0,sizeof(vis));int h=0,t=0;maxv=Q[0]=stx;vis[stx]=1;while (h<=t){int x=Q[h++];for (int i=head[x];i;i=next[i]) if (!vis[E[i]] && (!(x==va && E[i]==vb)) && (!(x==vb && E[i]==va))){dis[E[i]]=dis[x]+D[i];vis[E[i]]=1;Q[++t]=E[i];if (dis[E[i]]>dis[maxv]) maxv=E[i];}}}long long Find_diameter(int stx,int va,int vb){int max1,max2;BFS(stx,va,vb,max1);BFS(max1,va,vb,max2);return dis[max2];}long long getLength(vector <int> A, vector <int> B, vector <int> L) {int n=A.size()+1;long long ans=0;Ecnt=0;for (int i=0;i<n-1;i++) Add_Edge(A[i],B[i],L[i]);for (int del=0;del<n-1;del++){memset(vis,0,sizeof(vis));int va,vb;long long La=0,Lb=0;va=A[del],vb=B[del];La=Find_diameter(0,va,vb);for (int i=1;i<n;i++) if (!vis[i]) {Lb=Find_diameter(i,va,vb);break;}if (ans<La+Lb+L[del]) ans=La+Lb+L[del];}return ans;}
};

SRM 635 DIV2相关推荐

  1. Topcoder Srm 671 Div2 1000 BearDestroysDiv2

    \(>Topcoder \space Srm \space 671 \space Div2 \space 1000 \space BearDestroysDiv2<\) 题目大意 : 有一 ...

  2. topcpder SRM 664 div2 A,B,C BearCheats , BearPlays equalPiles , BearSorts (映射)

    A题,熊孩子测视力,水题,题意就是判断一下两个数对应位不相同的数字有多少个. #include<bits/stdc++.h>using namespace std;class BearCh ...

  3. SRM 542 DIV2

    一道DIV2里面500pt的题目想了3天还是没有想出来,这是什么水平....太菜了,弱爆了,该怎么办呢?怎么样才能成为高手呢? 250pt: 题意:题意很简单,就是说兔子之间的合作问题,每对兔子间有个 ...

  4. SRM 543 Div2

    决定以后多做一些TC,即使做不了比赛,也要多做一些TC上的题,顺便写一些结题报告什么的.不过像我这种在Div2混的弱菜,也写不出什么高质量的结题报告,而且1000pt的题,我基本都不用看了,尽量把25 ...

  5. 【TopCoder SRM 551 Div2】Solutions

    [250] Beaver Bindu has some colored bricks. Each color is described by an uppercase letter. Bricks o ...

  6. topcoder srm 635 div1

    problem1 link 首先枚举长度$L$.然后计算每一段长度$L$的差值最大公约数,然后差值除以最大公约数的结果可以作为当前段的关键字.然后不同段就可以比较他们的关键字,一样就是可以转化的. p ...

  7. SRM 721 DIV2

    Single Round Match 721 Round 1 - Division II, Level One 代码如下: public class FlightDataRecorder {publi ...

  8. TC SRM 562 div2 B 题

    题意: 给你一个矩形的画布,此画布由'B'和'.'组成,画T次每次画的时候他的左上角的起始点是确定的几位(1,1),(2,2),(3,3)......(T,T); 在画的过程中可能会出现相互覆盖求画完 ...

  9. SRM 533 DIV2

    很长时间没做TC了,再说自己做的也确实相当少,所以不是很熟+思路来的比较慢所以做得不是多么好,只做出了250pt,500pt的思路对还没敲完就结束了.话说TC,CF什么的真的很锻炼人的思维能力可就是老 ...

最新文章

  1. 特斯拉中国召回20万辆问题汽车:存在硬件风险,部分引擎盖可能意外打开
  2. LightOJ 1205 Palindromic Numbers
  3. discuz7记录下url静态化的apache2.2配置
  4. 适配器模式(类适配器)
  5. 创业企业的破局之道,在于创业者的二层思维
  6. collins词典第八版mdx_英语词典选择
  7. 如何做web程序权限管理
  8. 「三分钟系列03」3分钟看懂什么是三次握手/四次挥手
  9. 学子商城实训项目总结
  10. MPLAB IDE V8.92 ICD2 Win10 64位下驱动安装及设置,连接不上的解决方法
  11. 简单74LS138介绍(抄自原理图)
  12. SCADA数据采集HAAS系统通讯测试实操步骤整理
  13. 5w2h原则指的是什么_5W2H指的是什么?
  14. 由limits.h看整型范围
  15. phpwind和discuz比较
  16. Internet选项 添加信任站点
  17. 【C】 求3个正整数的最小公倍数
  18. Zigbee,esp8266(wifi),蓝牙协议三种通信方式
  19. 当年也是翩翩少年,如今落得秃顶大叔,程序员秃顶算工伤吗?
  20. alphaTab是一个跨平台音乐符号和吉他tablature渲染库

热门文章

  1. 每天一练——输入一行字符串,按如下规则加密:如果是英文字母则大写变小写、小写变大写,对非英文字符则保持不变。试写加密程序。
  2. springboot配置https(阿里云免费证书)
  3. 2018香港银行卡开户、购汇、跨境汇款【全攻略】
  4. Drupal < 7.32 “Drupalgeddon” SQL注入漏洞(CVE-2014-3704)漏洞复现
  5. linux重启domino服务,在Unix平台中通过脚本来启动和停止Domino
  6. abp构建Web API服务
  7. realme支持鸿蒙系统,骁龙888+首批搭载安卓12,realme真我GT真香售价2499元起
  8. 在c++中用编程画一个圆
  9. 【数据可视化应用】实现空间栅格(附R语言代码)
  10. TI毫米波雷达开发常见问题总结