a
【问题描述】
      你是能看到第一题的 friends 呢。
                      ——hja
    给你一个只有小括号和中括号和大括号的括号序列,问该序列是否合法。
【输入格式】
  一行一个括号序列。
【输出格式】
  如果合法,输出 OK,否则输出 Wrong。
【样例输入】
  [(])
【样例输出】
  Wrong
【数据范围与规定】
  对于70%的数据,1 ≤n≤ 100。
  对于100%的数据,1 ≤ n≤ 10000,所有单词由大写字母组成。
P100 zhxb
思路:栈维护一下。

#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
string s;
char stack[];
int top,m1,m2,m3;
int main(){
freopen("a.in","r",stdin);
freopen("a.out","w",stdout);
cin>>s;
int len=s.length();
for(int i=;i<len;i++){
if(s[i]=='(') {m1++;stack[top++]=s[i];}
if(s[i]=='[') {m2++;stack[top++]=s[i];}
if(s[i]=='{') {m3++;stack[top++]=s[i];}
else if(s[i]==')'){
if(!m1){cout<<"Wrong";return ;}
else if(stack[top-]!='('){cout<<"Wrong";return ;}
else{top--;m1--;}
}
else if(s[i]==']'){
if(!m2){cout<<"Wrong";return ;}
else if(stack[top-]!='['){cout<<"Wrong";return ;}
else {top--;m2--;}
}
else if(s[i]=='}'){
if(!m3){cout<<"Wrong";return ;}
else if(stack[top-]!='{'){cout<<"Wrong";return ;}
else {top--;m3--;}
}
}
if(top||m1||m2||m3) cout<<"Wrong";
else cout<<"OK";
}

b
【问题描述】
      你是能看到第二题的 friends 呢。
                      ——laekov
    Yjq 想要将一个长为l宽为w的矩形棺材(棺材表面绝对光滑,所以棺材可
  以任意的滑动)拖过一个 L 型墓道。
    如图所示,L 型墓道两个走廊的宽度分别是a和b,呈 90°,并且走廊的长
  度远大于?。
    现在 Hja 想知道对于给定的a,b,l,最大的?是多少,如果无论如何棺材都
  不可能通过,则输出"My poor head =("
【输入格式】
  第一行三个用空格分隔的整数a,b,l,意义如题目所示。
【输出格式】
  输出最大的可能的?,保留七位小数,如果无论如何棺材都不可能通过,则
  输出"My poor head =("。
【样例输入 1】
  2 2 1
【样例输出 1】
  1.0000000

【样例输入 2】
  2 2 2
【样例输出 2】
  2.0000000
【样例输入 3】
  2 2 3
【样例输出 3】
  1.3284271
【样例输入 4】
  2 2 6
【样例输出 4】
  My poor head =(
【数据范围与规定】
  对于100%的数据,1 ≤ a,b,l ≤ 10 4
  P100 zhxc

以下解题思路来自xxy大佬的博客

设直线解析式为 y=(-n/m)* x+n

整理,得:- n * x + m * y + n * m = 0

点(b,a)到直线的距离为:| - b * n - a * m + n * m | / L

(L : 根号下(n^2 + m^2)=L)

最优解就是 - b * n - a * m + n * m 的最大值

然后不知道为啥求了个

b * n + a * m - n *m 的最小值

单峰函数求最小值,三分法每次去掉大的一部分

式子最小值<0 时无解

#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
const double eps=1e-;
int a,b,l;
double L=,R=;
double ans=0x7f7f7f7f;
double mid1,mid2,t1,t2;
double f(double n){
double m=sqrt(1.0*l*l-n-n);
if(n*m>a*n+b*m) return -;
return (b*m+a*n-n*m)/l;
}
int main(){
freopen("b.in","r",stdin);
freopen("b.out","w",stdout);
scanf("%d%d%d",&a,&b,&l);
if(a>=&&b>=){
printf("%d.0000000",l);
return ;
}
if(a>=l){
printf("%d.0000000",b);
return ;
}
if(b>=){
printf("%d.0000000",a);
return ;
}
int t=;
while(t--){
mid1=(R-L)/+L;
mid2=L+R-mid1;
t1=f(mid1);
t2=f(mid2);
if(t1<||t2<){
printf("My poor head =(");
return ;
}
if(t1<t2){
ans=min(ans,t1);
R=mid2;
}
else{
ans=min(ans,t2);
L=mid1;
}
}
printf("%.7lf",ans);
}

c
【问题描述】
      你是能看到第三题的 friends 呢。
                      ——aoao
    树是个好东西,删掉树一条边要 1 的代价,随便再加一条边有 1 的代价,求
  最小的代价把树变成环。
【输入格式】
  第一行一个整数n,代表树的点数。
  接下来n − 1行,每行两个数代表树的一条边。
【输出格式】
  一行一个整数代表答案。
【样例输入】
  4
  1 2
  2 3
  2 4
【样例输出】
  3
【数据规模与约定】
  对于30%的数据,1≤n≤10。
  对于60%的数据,1 ≤ n ≤ 1000。
  对于100%的数据,1 ≤ n ≤ 100000。

思路:贪心。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define MAXN 100010
using namespace std;
int n,tot,ans,root;
int into[MAXN];
int to[MAXN*],net[MAXN*],head[MAXN*];
void add(int u,int v){
to[++tot]=v;net[tot]=head[u];head[u]=tot;
to[++tot]=u;net[tot]=head[v];head[v]=tot;
}
void dfs(int now,int fa){
for(int i=head[now];i;i=net[i])
if(to[i]!=fa){
dfs(to[i],now);
if(into[to[i]]>){
into[now]--;
ans+=(into[to[i]]-)*;
}
}
}
int main(){
freopen("c.in","r",stdin);
freopen("c.out","w",stdout);
scanf("%d",&n);
for(int i=;i<n;i++){
int u,v;
scanf("%d%d",&u,&v);
add(u,v);
into[u]++;
into[v]++;
}
root=;
for(int i=;i<=n;i++)
if(into[i]==){
root=i;
break;
}
dfs(root,-);
cout<<ans+;
}
/*
8
1 2
1 3
3 4
3 5
4 6
4 7
4 8
3
*/

国庆 day 3 下午的更多相关文章

  1. 国庆 day 7 下午

    思路:见博客. #include<iostream> #include<cstdio> #include<cstring> #include<algorith ...

  2. 国庆 day 2 下午

    最大值(max) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK有一本书,上面有很多有趣的OI问题.今天LYK看到了这么一道题目: 这里有一个长度为n的 ...

  3. 国庆 day 1 下午

    一道图论好题(graph) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK有一张无向图G={V,E},这张无向图有n个点m条边组成.并且这是一张带权图, ...

  4. 国庆 day 6 下午

    1.数组异或 (xorarray.pas/c/cpp) (xorarray.in/out) 时间限制:2s/空间限制:256M [题目描述] xor——异或,和 and 与or 一样,是一种重要的逻辑 ...

  5. 2018国庆YALI集训游记

    想了想,像之前那样简略地叙述题意和做法,根本没讲清楚,没有任何意义,还不如写写自己的感受. 感觉YALI真的是一所挺不错的学校吧.总是能有一机房的julao轮番吊打你,总是能有集训队的奆佬来给你出dl ...

  6. 2016.10.4初中部下午NOIP普及组比赛总结

    2016.10.4初中部下午NOIP普及组比赛总结 这次的题有些水,只是第四题有点坑. 题目: 比赛:AC+0+AC+50=250 改题:AC+AC+AC+50=350 一.Bill 满地都是水 题目 ...

  7. 票房和口碑称霸国庆档,用 Python 爬取猫眼评论区看看电影《我和我的家乡》到底有多牛

    今年的国庆档电影市场的表现还是比较强势的,两名主力<我和我的家乡>和<姜子牙>起到了很好的带头作用. <姜子牙>首日破 2 亿,一举刷新由<哪吒之魔童降世&g ...

  8. 搞了我一下午竟然是web.config少写了一个点

    Safari手机版居然有个这么愚蠢的bug,浪费了我整个下午,使尽浑身解数,国内国外网站搜索解决方案,每一行代码读了又想想了又读如此不知道多少遍,想破脑袋也想不通到底哪里出了问题,结果竟然是web.c ...

  9. System.DateUtils 3. IsPM、IsAM 判断是否为上、下午

    编译版本:Delphi XE7 function IsPM(const AValue: TDateTime): Boolean; inline;function IsAM(const AValue: ...

随机推荐

  1. PostgreSQL+PostGIS

    PostGIS简介 PostGIS是对象关系型数据库系统PostgreSQL的一个扩展,PostGIS提供如下空间信息服务功能:空间对象.空间索引.空间操作函数和空间操作符.同时,PostGIS遵循O ...

  2. Uva 1605 Building for UN【构造法】

    题意:给出n个国家,给它们分配办公室,使得任意两个国家都有一对相邻的格子 看的紫书,最开始看的时候不理解 后来还是搜了题解--- 发现是这样的 比如说5个国家 应该输出 AAAA BBBB CCCC ...

  3. 优动漫PAINT-朱槿花的画法

    火红夺目的朱槿花,绝对是烘托画面的绝佳布景!画法发非常简单,毫无绘画基础的人也能够将它很好的呈现出来哟~ 教程是简单,呃.... 没有优动漫PAINT软件肿么办? 别着急,╭(╯^╰)╮ 小编给你送来 ...

  4. 数字游戏(string的sort的应用)

    题目描述 牛牛举办了一场数字游戏,有n个玩家参加这个游戏,游戏开始每个玩家选定一个数,然后将这个数写在纸上(十进制数,无前缀零),然后接下来对于每一个数字将其数位按照非递减顺序排列,得到新的数,新数的 ...

  5. 常用类Object,String类详解

    -------------------- String -----------------------1.求字符串长度 public int length()//返回该字符串的长度 String st ...

  6. [NOIP补坑计划]NOIP2013 题解&做题心得

    场上预计得分:100+100+100+100+100+60=560(省一分数线410) 五道傻逼题+一道大搜索题…… 题解: D1T1 转圈游戏 题面 水题送温暖~ #include<algor ...

  7. Number(), parseInt(), parseFloat()

    var n="100.11px";console.log(Number(n));//NaNconsole.log(parseInt(n));//100console.log(par ...

  8. HDU-2204- Eddy’s爱好 (容斥原理)

    题意 给出一个数n,问1-n中有多少个数可以表示为m^k,m,k均为正整数且k>1 (1<=n<=1^18) 题解 (一开始^以为是异或懵逼了好久....) 额,显然1这个数比较讨厌 ...

  9. echars 在vue v-if 切换会 显示不出来或者显示出来但是不是百分百显示

    我也是百度看别人写的原因,然后自己总结,以后用到的时候来复制就可以将  v-if换成 v-show 第二不是百分百显示  可以用 this.$nextTick(function() { this.in ...

  10. 2015 Multi-University Training Contest 2 hdu 5306 Gorgeous Sequence

    Gorgeous Sequence Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Othe ...