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. SpringBoot整合Ribbon注入RestTemplate实例找不到原因

    通过把@LoadBalanced注解放在创建RestTemplate对象的方法上,可以正常运行:如果放在属性上,会导致找不到RestTemplate Bean

  2. 关于git本地已有项目

    终于要开始彻底掌握git了,第一步自然是自己建个test repository.然而,目前只学到git init, git clone啊.都没说怎么上传本地已有仓库,网上一搜吧,全是坑人的,标题还写的 ...

  3. Codeforces686C【dfs】

    题意: n,m<=1e9 设定一天n小时,一小时m分钟, 显示时间的是一个7进制的表, 问你在一天里出现多少个时刻,表中的数字要都不相同. 思路: 因为7进制,显示的数字肯定是0-7之间的. 然 ...

  4. 利用pyinstaller生成exe文件碰到的一些问题及解决方法

    在“开源图像标注工具labelme的安装使用及汉化”这篇博客中,使用pyinstaller将labelme项目的入口python文件main.py打包,生成了main.exe文件,可以在Windows ...

  5. 二分图最大匹配初探 By cellur925

    一.什么是二分图 首先它需要是一张无向图. 之后它需要同时满足两个条件:①它的N个点被分为两个集合,且这两个集合交集为空:②同一集合内的点之间没有边相连. 二.无向图是否为二分图的判定 引理:无向图是 ...

  6. Django Views: Dynamic Content

    世味年来薄似纱,谁令骑马客京华. 小楼一夜听春雨,深巷明朝卖杏花. 矮纸斜行闲作草,晴窗细乳戏分茶. 素衣莫起风尘叹,犹及清明可到家. Your Second View: Dynamic Conten ...

  7. hdu 3172 Virtual Friends (字符串的并查集)

    一开始一直wa,因为第一个数字t也是多组输入. 然后一直超时,因为我用的是C++里面的cin,所以非常耗时,几乎比scanf慢了10倍,但是加上了一个语句后: std::ios::sync_with_ ...

  8. multiprocessing多进程模块

    1 基本理解 python不支持真多线程,无法在单进程中调用多核cpu.对于cpu密集型任务,可以使用多进程.python会调用OS原生多进程,运行在多核上,以此提高运行速度. 2 基本实现 impo ...

  9. 【数据结构(C语言版)系列三】 队列

    队列的定义 队列是一种先进先出的线性表,它只允许在表的一端进行插入,而在另一端删除元素.这和我们日常生活中的排队是一致的,最早进入队列的元素最早离开.在队列中,允许插入的一端叫做队尾(rear),允许 ...

  10. 题解报告:poj 1738 An old Stone Game(区间dp)

    Description There is an old stone game.At the beginning of the game the player picks n(1<=n<=5 ...