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. dl learn task

    https://deeplearning4j.org/cn/word2vec Task 1 分类http://blog.csdn.net/czs1130/article/details/7071734 ...

  2. hiho 171周 - 水题,并查集

    题目链接 题目描述: 输入4 alice 2 alice@hihocoder.com alice@gmail.com bob 1 bob@qq.com alicebest 2 alice@gmail. ...

  3. error C2504: 未定义基类

    出错的情况为: type.h 文件中定义了一个结构体,但只给出了声明 namespace pcl { struct CSDDSignature; } 其定义在type.hpp文件中给出 namespa ...

  4. 手工备份恢复oracle数据库

     手工备份恢复oracle数据库: 虽然已经有了rman工具 但是手工恢复oracle能够让你对oracle数据库有更加深入的了解 数据库一致性开机条件: 数据文件 scn,控制文件 scn,redo ...

  5. 来,我们来聊聊怎么学好3dMax三维建模这款软件

    效果图公司近年来的发展体现了流行3D技术,而3D技术的应用也越来越广泛,3D为电脑效果图制作的主力.室内效果是设计师进行设计后所达到的效果,除了通常采用的方法外,还应该积极地找寻一种适合的教学方法,培 ...

  6. python学习笔记第三章

    1.列表是由一系列特定顺序排列得元素组成,在python中用([])组成,列表得索引是从0开始,不是1 xu=['a','b',''c] print(xu) 访问列表的元素第一个元素 xu=['a', ...

  7. JavaScript设计模式(biaoyansu)(2)

    单例模式实例 (创建类模式): let elBalance = document.getElementById('balance') function init () { var a = new Di ...

  8. Node_进阶_3

    Express框架: 一.   Express框架 Express框架是后台的Node框架,类似于JS中的jquery. #原生Node开发会有很多问题: 1呈递静态页面很不方便,需要处理每个HTTP ...

  9. 线段树合并&&启发式合并笔记

    这俩东西听起来很高端,实际上很好写,应用也很多~ 线段树合并 线段树合并,顾名思义,就是建立一棵新的线段树保存原有的两颗线段树的信息. 考虑如何合并,对于一个结点,如果两颗线段树都有此位置的结点,则直 ...

  10. bootstrap 因跳页黑色背景无法关闭

    只需要在跳页之前加上如下代码: $(".modal-backdrop").remove();