2019西安多校联训 Day5
T1
光哥为了不让某初二奆佬恶心到我们而留下的火种
(貌似没这题平均分就100-了)
思路:就一横一竖让后就gztopa嘛
#include <bits/stdc++.h>
using namespace std;
int bigg,n;
int l,r;
int a[];
int puke[];
int main(){
scanf("%d",&n);
for(register int i=;i<=;i++) puke[i]=;
puke[]+=;
for(register int i=;i<=n;i++){
scanf("%d",&a[i]);
bigg+=a[i];
puke[a[i]]--;
}
//for(register int i=1;i<=11;i++) printf("%d\n",puke[i]);
int X=-bigg;
//printf("%d\n",X);
for(register int i=;i<=;i++){if(i<=X) l+=puke[i];else if(i>X) r+=puke[i];}
if(r>=l) printf("DOSTA");
else if(l>r) printf("VUCI");
return ;
}
T1-21点
T2
有点考验思维的一道题,虽然题目叫LCA,但是跟LCA没有
半毛钱关系;
思路:先建图,我们不难发现我们把一条路左右的点数统计一下
取min,min值*2就是这条路径最多能被遍历的次数所以我们就得到了
此题的解法,正确性十分显然...
#include <bits/stdc++.h>
using namespace std;
struct node{
int to,nxt,w;
}edge[];
int cnt,dd,n,x,y,z;
int head[];
bool vis[];
bool chudu[];
int l[];
int aa[];
void addedge(int from,int to,int w){
cnt++;
edge[cnt].to=to;
edge[cnt].w=w;
edge[cnt].nxt=head[from];
head[from]=cnt;
}
long long ans;
void eat(int p){
if(!chudu[p]){return;}
for(register int i=head[p];i;i=edge[i].nxt){
eat(edge[i].to);
l[p]+=l[edge[i].to];
}
}
void dfs(int m,int deep){
for(register int i=head[m];i;i=edge[i].nxt){
dfs(edge[i].to,deep+);
l[dd]=max(deep,l[dd]);
}
}
int main(){
scanf("%d",&n);
for(register int i=;i<n;i++){
scanf("%d%d%d",&x,&y,&z);
addedge(x,y,z);
aa[y]=z;
vis[y]=;
chudu[x]=;
}
for(register int i=;i<=n;i++){if(!vis[i]) dd=i;l[i]=;}
eat(dd);
l[dd]=;
dfs(dd,);
for(register int i=;i<=n;i++){
int xx=min(l[i],n-l[i]);
ans+=aa[i]**xx;
}
printf("%lld",ans);
return ;
}
T2-LCA
T3
显然这是一道字符串问题,难度中等偏高
思路:先跑一遍manachar,求出所有最长回文串,
其次跑一遍贪心即可
#include <bits/stdc++.h>
using namespace std;
char a[];
bool f[][];
bool vis[];
int len,n,now;
bool check(int l,int r){
if(f[l][r]) return true;
else if(a[l]==a[r]) return check(l+,r-);
return false;
}
void inti(){
for(register int i=;i<=len;i++){
f[i][i]=;
if(a[i]==a[i+]) f[i][i+]=;
}
return;
}
int main(){
while(cin>>a+){
now=;
memset(f,,sizeof(f));
memset(vis,,sizeof(vis));
len=strlen(a+);
inti();
//for(register int j=1;j<=len;j++) printf("%d ",f[i][j]);printf("\n");}
//printf("\n");
for(register int i=len;i>=;i--){
for(register int j=;j<=len-i+;j++){
if(vis[j]) continue;
if(check(j,j+i-)){
//cout<<j<<" "<<j+i-1<<endl;
now++;
for(register int k=j;k<=j+i-;k++) vis[k]=;
}//eabcbcbabaedcde
}
}
printf("%d\n",now-);
}
return ;
}
萨鲁曼的半兽人
end;
2019西安多校联训 Day5的更多相关文章
- 2019西安多校联训 Day4
T1 大水题!!难度简单,显然的贪心策略即可,but... 思路:首先我们按与i点作战后活下来的士兵排序,然后 若当前剩余兵力足够直接减掉战斗死亡人数,如果不够就加 够再打它,但是!我们在考完试观察测 ...
- 2019西安多校联训 Day3
试题链接:http://www.accoders.com/contest.php?cid=1895 考试密码请私信; 特别鸣谢:zkc奆佬帮助我优化本篇题解(语言表达方面) T1 显然二分求解的 ...
- 2019西安多校联训 Day2
试题链接:http://www.accoders.com/contest.php?cid=1894 考试密码请私信; T1 残忍WA 0,明明就是一道非常菜的字符串QAQ 思路:一共找四种东西,A ...
- 2019西安多校联训 Day1
试题链接:http://www.accoders.com/contest.php?cid=1893 考试密码请私信; T1 明明就是O(n)的模拟,强行打成二分QAQ 思路:判断收尾是否为1或 ...
- Contest1893 - 2019年6月多校联训b层测试1
传送门 密码:waxadyt T1 暴力 对于任意相邻的两个值 中间能到达的最大高度是固定的 加上头尾,判一下就好了 代码//感谢Th Au K #include<bits/stdc++.h&g ...
- [DBSDFZOJ 多校联训] 就
就 背景描述 一排 N 个数, 第 i 个数是 Ai , 你要找出 K 个不相邻的数, 使得他们的和最大. 请求出这个最大和. 输入格式 第一行两个整数 N 和 K. 接下来一行 N 个整数, 第 i ...
- [DBSDFZOJ 多校联训] Password
Password password.in/.out 描述 你来到了一个庙前,庙牌上有一个仅包含小写字母的字符串 s. 传说打开庙门的密码是这个字符串的一个子串 t,并且 t 既是 s 的前缀又是 s ...
- 2019 湖南多校第一场(2018~2019NCPC) 题解
解题过程 开场shl过B,C,然后lfw写J,J WA了以后shl写A,但是因为OJ上空间开小WA了,而不是MLE?,J加了特判过了.之后一直在检查A错哪了,直到qt发现问题改了空间,浪费许多时间,但 ...
- 2019 西安邀请赛 D
//n件物品,m种关系,(有关系的2个不能在同一组) //把所有物品分为2组,希望最后2组的差值尽可能小,输出较大者 /* 二分图涂色+可行性(01)背包 dp[i] =1表示 最后差值为i可行 建图 ...
随机推荐
- rn滑动返回页面监听
开发rn的同学都已经知道这个问题很坑了,真的很难弄,网上的方法尝试过很多,返回的的时候回调,是用的最多的,最开始我也是用的这种方式,但是滑动返回的时候监听不到.并且用起来也比较麻烦,不但需要在当前页面 ...
- rbenv更新ruby后rails命令无效的解决方案
创建: 2017/11/02 更新: 2018/02/02 增加rbenv使用方法的链接 rbenv的使用: http://www.cnblogs.com/lancgg/p/8281739.h ...
- git提交历史不显示自己账户的问题
其实这个问题本身也不大好描述.还是上图好了 问题就如同途中倒数第二次提交.明明就是我提交的,却不显示我的账号.个人页面也不反映这次提交. 后来发现问题所在,要想正确显示,必须要把对这个项目的邮箱设 ...
- 51nod 1119【杨辉三角】
思路: = =杨辉三角的应用,组合数的应用: C(N+M,N); 逆元一发,费马小定理,OK. #include <stdio.h> #include <string.h> # ...
- Spring AOP SpringBoot集成
上一篇文章<Spring AOP 面向切面编程入门>对AOP作了简要的介绍,包含一些专业术语的解释. 本文基于SpringBoot编写了一个简单的Spring AOPDemo. maven ...
- Luogu P1141 01迷宫【搜索/dfs】By cellur925
题目传送门 我tm到现在还需要刷这种水搜索...我退役吧. 但就是搜索弱嘛 补一补嘛qwq 题目大意:给你一张地图与许多询问,每次询问求这个点所在联通块的点的个数. 所以这个题目的本质就是在求联通块. ...
- 数论/暴力 Codeforces Round #305 (Div. 2) C. Mike and Frog
题目传送门 /* 数论/暴力:找出第一次到a1,a2的次数,再找到完整周期p1,p2,然后以2*m为范围 t1,t2为各自起点开始“赛跑”,谁落后谁加一个周期,等到t1 == t2结束 详细解释:ht ...
- 数位dp知识点整理
题解报告:hdu 2089 不要62 Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer).杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌 ...
- 转 Oracle中merge into的使用
http://www.cnblogs.com/highriver/archive/2011/08/02/2125043.html
- C# 对象复制
/// <summary> /// 把DataTable对象转成List<T>对象 /// </summary> /// <typeparam name=&q ...