佳木斯集训Day2
D2好点了,最起码不像之前那么水
T1按照常规操作是个找规律,类似于括号匹配的题,但是又不是,推进栈里,然后看最长的左括号有多少个,然后直接cout就可以了
#include <bits/stdc++.h>
using namespace std;
int n,point,ans=-;
char a[];
stack <char>s;
int main()
{
cin>>n;
for(int i=;i<=n;i++)
{
cin>>a[i];
s.push(a[i]);
if(s.top()=='(')
point++;
else
s.pop(),point--;
ans=max(ans,point);
}
if(ans%==)
cout<<ans/+<<endl;
else
cout<<ans/<<endl;
}
哎,居然可以折叠代码,我才发现
T2本来以为是个搜索,结果正解就是个搜索,dfs+一个简单的找规律,咳咳,看完题解就会了
不知道为什么,这道题我爆0了
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int t,head[],x,y,n,in[],ans[];
int point=;
ll sum;
struct Tree{
int v,nxt;
}g[];
void add(int u,int v)
{
g[++point].v=v;
g[point].nxt=head[u];
head[u]=point;
}
void dfs(int x,int nw)
{
ans[x]=;
for(int i=head[x];i;i=g[i].nxt)
{
if(g[i].v==nw)continue;
dfs(g[i].v,x);
ans[x]+=ans[g[i].v];
}
sum+=ans[x];
}
void solve(int x,int square,ll nw)
{
sum=max(sum,nw);
for(int i=head[x];i;i=g[i].nxt)
{
if(g[i].v==square)
continue;
solve(g[i].v,x,nw+n-2LL*ans[g[i].v]);
}
}
int main()
{
memset(head,,sizeof(head));
cin>>n;
for(int i=;i<=n-;i++)
{
cin>>x>>y;
add(x,y);
add(y,x);
in[x]++;
in[y]++;
}
dfs(,);
solve(,,sum);
cout<<sum<<endl;
return ;
}
T3 是个神奇的二分答案,加上了一个神奇的剪枝就能AC,然而蒟蒻的我并没有想到剪枝,所以我RE60
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll n,m,ans=;
ll c;
ll pos[];
ll start,finish,admit,dis,maxn;
bool Black(ll k)
{
ll v=k;
ll point=;
for(ll i=start;i<finish;i++)
{
if(k<(pos[i+]-pos[i])*c)
return ;
if(v<(pos[i+]-pos[i])*c)
{
v=k;
point++;
}
v=v-(pos[i+]-pos[i])*c;
if(point>admit||v<)
return ;
}
return ;
}
void divide(ll l,ll r)
{
if(l==r)
{ ans=max(ans,l);
//cout<<ans<<endl;
return ;
}
ll mid=(l+r)/;
if(Black(mid)==)
divide(l,mid);
else
divide(mid+,r);
}
int main()
{
cin>>n>>m;
for(ll i=;i<=n;i++)
cin>>pos[i];
for(ll i=;i<=m;i++)
{
cin>>start>>finish>>c>>admit;
if(ans&&Black(ans))
continue;
divide(,1e18);
}
cout<<ans<<endl;
return ;
}
佳木斯集训Day2的更多相关文章
- 佳木斯集训Day1
23333第一次写博客 其实在佳木斯集训之前我都已经两三个月没打代码了 在佳木斯的时候前几天真心手生,导致了前几次考试考的很差... D1的考试还是比较良心的,T1是一道大模拟,直接枚举最后几位是00 ...
- WC集训DAY2笔记 组合计数 part.1
目录 WC集训DAY2笔记 组合计数 part.1 基础知识 组合恒等式 错排数 卡特兰数 斯特林数 伯努利数 贝尔数 调和级数 后记 补完了几天前写的东西 WC集训DAY2笔记 组合计数 part. ...
- 2019暑期金华集训 Day2 线性代数
自闭集训 Day2 线性代数 高斯消元 做实数时,需要找绝对值最大的作为主元,以获取更高精度. 在欧几里得环(简单例子是模合数)意义下也是对的.比如模合数意义下可以使用辗转相除法消元. 欧几里得环:对 ...
- 暑假集训Day2 互不侵犯(状压dp)
这又是个状压dp (大型自闭现场) 题目大意: 在N*N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子. ...
- 2022寒假集训day2
day1:学习seach和回溯,初步了解. day2:深度优化搜索 T1 洛谷P157:https://www.luogu.com.cn/problem/P1157 题目描述 排列与组合是常用的数学方 ...
- 考前停课集训 Day2 非
因为太长了 所以一天一天分开发 Day2 昨天晚上没开黑车 没脱衣服就睡了 可能是我难受了…… 新的一天. 早上好. 我没去晨跑,早上先和团长集合了,没看见rkbudlo来 于是就先吃饭了 去机房的时 ...
- 长沙雅礼中学集训-------------------day2
怎么说呢,今天的题特别的神奇,因为emmmmmm,T1看不懂(一直到现在还没有理解明白期望概率什么的),T2题面看不懂+扩展欧几里得求逆元怎么求我忘了,T3哇,终于看懂一题了,然而写了个50分的程序但 ...
- 集训Day2
雅礼集训2017Day2 T1 给你一个水箱,水箱里有n-1个挡板,水遵循物理定律 给你m个条件,表示第i个格子上面y+1高度的地方有或没有水 现在给你无限的水从任意地方往下倒,问最多满足多少条件 n ...
- HZNU-ACM寒假集训Day2小结 二分答案
Day2 ---二分 这里直接给出模板 两种对应不同的情况 可以借助数轴理解 int bsearch_1(int l, int r) { while (l < r) { ; if (check( ...
随机推荐
- sql语句一些简单的用法
- mybatis的插入与批量插入的返回ID的原理
目录 背景 底层调用方法 单个对象插入 列表批量插入 完成 背景 最近正在整理之前基于mybatis的半ORM框架.原本的框架底层类ORM操作是通过StringBuilder的append拼接的,这次 ...
- 按行读取String类型
BufferedReader br = new BufferedReader(new InputStreamReader(new ByteArrayInputStream(content.getByt ...
- js常用设计模式实现(三)建造者模式
创建型模式 创建型模式是对一个类的实例化过程进行了抽象,把对象的创建和对象的使用进行了分离 关于创建型模式,已经接近尾声了,还剩下建造者模式和原型模式,这一篇说一说建造者模式 建造者模式的定义 将一个 ...
- WPF 入门笔记之布局
一.布局原则: 1. 不应显示的设定元素的尺寸,反而元素可以改变它的尺寸,并适应它们的内容 2. 不应使用平布的坐标,指定元素的位置. 3. 布局容器和它的子元素是共享可以使用的空间 4. 可以嵌套的 ...
- ~~番外:说说Python 面向对象编程~~
进击のpython Python 是支持面向对象的 很多情况下使用面向对象编程会使得代码更加容易扩展,并且可维护性更高 但是如果你写的多了或者某一对象非常复杂了,其中的一些写法会相当相当繁琐 而且我们 ...
- Win10更新后,MySQL服务莫名消失的问题
手欠的给Win10更新,之后就发现右下角托盘里的小海豚变成白色的了,最后确认MySQL服务丢失 解决办法1: 1.重新安装服务:mysqld --install 2.如果之前没有自定义数据保存路径(d ...
- MyBatis 存储过程
From<MyBatis从入门到精通> <!-- 6.2 存储过程 6.2.1 第一个存储过程 delimiter ;; create procedure 'select_user_ ...
- CSDN怎么一键转载别人的博客
在参考"如何快速转载CSDN中的博客"后,由于自己不懂html以及markdown相关知识,所以花了一些时间来弄明白怎么转载博客,以下为转载CSDN博客步骤和一些知识小笔记. 参考 ...
- [记录]Nginx配置实现&&和||的方法实例
Nginx配置文件中if的&&和||的实现(nginx不支持&&和||的写法) 1.与(&&)的写法: set $condiction '';if ($ ...