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,求出所有最长回文串,

其次跑一遍贪心即可

T3-

 #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的更多相关文章

  1. 2019西安多校联训 Day4

    T1 大水题!!难度简单,显然的贪心策略即可,but... 思路:首先我们按与i点作战后活下来的士兵排序,然后 若当前剩余兵力足够直接减掉战斗死亡人数,如果不够就加 够再打它,但是!我们在考完试观察测 ...

  2. 2019西安多校联训 Day3

    试题链接:http://www.accoders.com/contest.php?cid=1895    考试密码请私信; 特别鸣谢:zkc奆佬帮助我优化本篇题解(语言表达方面) T1 显然二分求解的 ...

  3. 2019西安多校联训 Day2

    试题链接:http://www.accoders.com/contest.php?cid=1894   考试密码请私信; T1 残忍WA 0,明明就是一道非常菜的字符串QAQ 思路:一共找四种东西,A ...

  4. 2019西安多校联训 Day1

    试题链接:http://www.accoders.com/contest.php?cid=1893  考试密码请私信;    T1 明明就是O(n)的模拟,强行打成二分QAQ 思路:判断收尾是否为1或 ...

  5. Contest1893 - 2019年6月多校联训b层测试1

    传送门 密码:waxadyt T1 暴力 对于任意相邻的两个值 中间能到达的最大高度是固定的 加上头尾,判一下就好了 代码//感谢Th Au K #include<bits/stdc++.h&g ...

  6. [DBSDFZOJ 多校联训] 就

    就 背景描述 一排 N 个数, 第 i 个数是 Ai , 你要找出 K 个不相邻的数, 使得他们的和最大. 请求出这个最大和. 输入格式 第一行两个整数 N 和 K. 接下来一行 N 个整数, 第 i ...

  7. [DBSDFZOJ 多校联训] Password

    Password password.in/.out 描述 你来到了一个庙前,庙牌上有一个仅包含小写字母的字符串 s. 传说打开庙门的密码是这个字符串的一个子串 t,并且 t 既是 s 的前缀又是 s ...

  8. 2019 湖南多校第一场(2018~2019NCPC) 题解

    解题过程 开场shl过B,C,然后lfw写J,J WA了以后shl写A,但是因为OJ上空间开小WA了,而不是MLE?,J加了特判过了.之后一直在检查A错哪了,直到qt发现问题改了空间,浪费许多时间,但 ...

  9. 2019 西安邀请赛 D

    //n件物品,m种关系,(有关系的2个不能在同一组) //把所有物品分为2组,希望最后2组的差值尽可能小,输出较大者 /* 二分图涂色+可行性(01)背包 dp[i] =1表示 最后差值为i可行 建图 ...

随机推荐

  1. c++中.c_str和.c_data

    1 关于.c_str的用法: const char *c_str(); 这个数组的数据是临时的,当有一个改变这些数据的成员函数被调用后,其中的数据就会失效.因此要么现用先转换,要么把它的数据复制到用户 ...

  2. [Vue 牛刀小试]:第十二章 - 使用 Vue Router 实现 Vue 中的前端路由控制

    一.前言 前端路由是什么?如果你之前从事的是后端的工作,或者虽然有接触前端,但是并没有使用到单页面应用的话,这个概念对你来说还是会很陌生的.那么,为什么会在单页面应用中存在这么一个概念,以及,前端路由 ...

  3. PostgreSQL - psql的使用与退出

    PostgreSQL连接数据库的两种方式 PostgreSQL在安装时自带了pgAdmin和psql,pgAdmin是可视化工具,psql是命令行工具.虽然pgAdmin操作起来会更加直观简单,但是在 ...

  4. 使用c++的一些建议

    1: 不要使用宏,用const或enum定义常量 用inline避免函数的额外调用(使用inline的函数,块里面尽量不要使用循环和递归) 用template去荷花一些函数或者类型 用namespac ...

  5. 三色灯渐变DIY制作

    小编前几天查资料,怎么使用12864屏幕的用法,突然发觉微博是个好东西,随着自己的成长,学习了很多的知识,没有做笔记的习惯,只是习惯把用到的硬件,传感器,资料写到程序的备注内,但感觉,用到时不是那么方 ...

  6. POJ 1692 Crossed Matchings dp[][] 比较有意思的dp

    http://poj.org/problem?id=1692 这题看完题后就觉得我肯定不会的了,但是题解却很好理解.- - ,做题阴影吗 所以我还是需要多思考. 题目是给定两个数组,要求找出最大匹配数 ...

  7. java中stringBuilder的用法

    java中stringBuilder的用法 String对象是不可改变的.每次使用 System.String类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间.在需 ...

  8. RedHat改yum源免费使用CentOS源

    linux默认是安装了yum软件的,但是由于激活认证的原因让redhat无法直接进行yum安装一些软件 如果我们需要在redhat下直接yum安装软件,我们只用把yum的源修改成CentOS的就好了, ...

  9. AJPFX总结java InputStream读取数据问题

    1. 关于InputStream.read()     在从数据流里读取数据时,为图简单,经常用InputStream.read()方法.这个方法是从流里每次只读取读取一个字节,效率会非常低.     ...

  10. let块级引起的闭包思考

    因为es6在node中用的比较频繁,最近在按计划根据阮一峰的es6教程从头开始学习一遍, 第一步遇到的就是“看似非常熟悉”的let小伙伴,核心character如下: 即:let变量的作用域只在块内. ...