23333第一次写博客

其实在佳木斯集训之前我都已经两三个月没打代码了

在佳木斯的时候前几天真心手生,导致了前几次考试考的很差...

D1的考试还是比较良心的,T1是一道大模拟,直接枚举最后几位是00,25,50,75的情况即可

一看数据范围1e18就知道铁定是O(n)了

(考试的时候不知道为什么wa70)

直接上代码

#include <bits/stdc++.h>
#define ll long long
using namespace std;
char a[];
int point,q,ans,length;
bool flag=,ju0,ju2,ju7,ju5;
ll n=,b=;
int main()
{
scanf("%s",&a);
length=strlen(a);
int c=;
for(int i=length-;i>=;i--)
{
b=b+int(a[i]-)*pow(,c);
c++;
if(int(a[i]-)==)
ju5=;
else if(int(a[i]-)==)
ju2=;
else if(int(a[i]-)==)
ju7=;
else if(int(a[i]-)==)
ju0=;
}
if(b%==)
{
cout<<<<endl;
return ;
}
for(int i=length-;i>=;i--)
{
if(a[i]=='')
{
flag=;
point=i;
swap(a[i],a[length-]);
break;
}
else if(a[i]=='')
{
flag=;
point=i;
swap(a[i],a[length-]);
break;
}
}
if(flag==)
cout<<"-1"<<endl;
else
{
flag=;
int t=;
ans=ans+length-point-;
for(int i=length-;i>=;i--)
{
n=n+int(a[i]-)*pow(,t);
t++;
}
n=n/;
if(n%==)
{
cout<<ans<<endl;
return ;
}
else
{ t=;
while(n)
{
a[++t]=n%;
n/=;
}
length=strlen(a);
for(int i=length-;i>=;i--)
{
if(a[i]==''||a[i]=='')
{
flag=;
point=i;
swap(a[i],a[length-]);
break;
}
}
if(ju5==&&(ju2!=&&ju7!=&&ju0!=))
{
cout<<-<<endl;
return ;
}
if(flag==)
cout<<"-1"<<endl;
else
{
ans=ans+length-point-;
}
cout<<ans<<endl;
}
}
return ;
}

T2 比较水(现在看考试题都比较水)

就是需要判断这两个数组是否是严格单调的,考试的时候想到了,但不知道为啥wa10???

#include<bits/stdc++.h>
using namespace std;
int n,a[],b[],fa,fb,q=;
int main()
{
scanf("%d",&n);
for(int i=;i<=n;i++)scanf("%d",&a[i]);
for(int i=;i<=n;i++)scanf("%d",&b[i]);
fa=a[];fb=b[];
for(int i=;i<=n;i++)
{
if(fa>a[i]&&fb>b[i])fa=a[i],fb=b[i];
else if(fa<a[i]&&fb<b[i])continue;
else {cout<<i-<<endl;
return ;}
}
cout<<n<<endl;
return ;
}

T3 是我D1唯一A的一道题23333,因为是并查集

#include <bits/stdc++.h>
#define MAXN 100500
using namespace std;
int n,m,k,x,y;
int f[MAXN],a[MAXN],g[MAXN],point,h[MAXN],c,ans,s;
bool v[MAXN],b[MAXN];
int find(int x)
{
if(f[x]==x)
return x;
f[x]=find(f[x]);
return f[x];
}
int main()
{
cin>>n>>m>>k;
for(int i=;i<=n;i++)
cin>>a[i];
for(int i=;i<=n;i++)
f[i]=i;
for(int i=;i<=m;i++)
{
cin>>x>>y;
v[x]=;
v[y]=;
int t1=find(x);
int t2=find(y);
if(t1==t2)
continue;
f[t2]=t1;
}
for(int i=;i<=n;i++)
{
if(v[i])
{
if(!b[find(i)])
{
b[find(i)]=;
g[++point]=find(i);
}
}
}
for(int i=;i<=point;i++)
{
memset(h,,sizeof(h));
c=;
ans=;
for(int j=;j<=n;j++)
{
if(find(j)==g[i])
h[a[j]]++,c++;
}
for(int j=;j<=n;j++)
{
if(h[j]>ans)
{
ans=h[j];
}
}
s=s-ans+c;
}
cout<<s<<endl;
}

然后考完之后基本上是秒改AK的...

当天学的是数据结构(单调栈什么的,本来以为题水,谁知道每道题难度都是紫色啊)

佳木斯集训Day1的更多相关文章

  1. 【欧拉回路+最小生成树】SD开车@山东2018省队一轮集训day1

    目录 [欧拉回路+最小生成树]SD开车@山东2018省队一轮集训day1 PROBLEM 题目描述 输入 输出 样例输入 样例输出 提示 SOLUTION CODE [欧拉回路+最小生成树]SD开车@ ...

  2. 国庆集训 Day1 T2 生成图 DP

    国庆集训 Day1 T2 生成图 现在要生成一张\(n\)个点的有向图.要求满足: 1.若有 a->b的边,则有 b->a 的边 2.若有 a->b 的边和 b->c 的边,则 ...

  3. 2019暑期金华集训 Day1 组合计数

    自闭集训 Day1 组合计数 T1 \(n\le 10\):直接暴力枚举. \(n\le 32\):meet in the middle,如果左边选了\(x\),右边选了\(y\)(且\(x+y\le ...

  4. 2019暑期金华集训 Day1 数据结构

    自闭集训 Day1 数据结构 CF643G 用类似于下面的方法,搬到线段树上. 如何合并两个集合?先全部放在一起,每次删掉最小的\(cnt_i\),然后把其他所有的\(cnt\)都减去\(cnt_i\ ...

  5. LOJ 6060「2017 山东一轮集训 Day1 / SDWC2018 Day1」Set(线性基,贪心)

    LOJ 6060「2017 山东一轮集训 Day1 / SDWC2018 Day1」Set $ solution: $ 这一题的重点在于优先级问题,我们应该先保证总和最大,然后再保证某一个最小.于是我 ...

  6. 牛客2018国庆集训 DAY1 D Love Live!(01字典树+启发式合并)

    牛客2018国庆集训 DAY1 D Love Live!(01字典树+启发式合并) 题意:给你一颗树,要求找出简单路径上最大权值为1~n每个边权对应的最大异或和 题解: 根据异或的性质我们可以得到 \ ...

  7. 暑假集训Day1 整数划分

    题目大意: 如何把一个正整数N(N长度<20)划分为M(M>=1)个部分,使这M个部分的乘积最大.N.M从键盘输入,输出最大值及一种划分方式. 输入格式: 第一行一个正整数T(T<= ...

  8. 考前停课集训 Day1 废

    [友情链接] Day1 今天模拟赛倒数…… 感觉自己菜到爆炸…… 被一个以前初一的倒数爆踩…… 感觉自己白学了. 满分400,自己只有100.真的是倒数第一…… 做了一个T2,其他暴力分全部没有拿到… ...

  9. 长沙雅礼中学集训-------------------day1(内含day0)

    day0: 首先,请允许我吐槽一下: 1.那些一个人住一个标准房的人您们真的是#@**¥&%……#*()%……*()@Q$&. 2.感谢那些一个人住一个标准间的人,要不然我们也找不到这 ...

随机推荐

  1. 浅入深出Vue:路由

    路由的概念在计算机界中的历史大概可以追溯到OSI模型中的数据链路层与网络层中的定义.这里的定义大意是:在转发数据包时,根据数据包的目的地址进行寻址,从而将数据包发往指定的目的地. 在 Web开发中同样 ...

  2. 记一次SQL优化。

    程序是数据库的用户,为打造良好的用户体验,我们一直在努力. 此次介绍一个基于SQL的数据库优化.SQL的优劣对数据库的性能影响非常关键. 查询只涉及如下表结构中的三个字段.如下 开发原始SQL SEL ...

  3. POJ 3581:Sequence(后缀数组)

    题目链接 题意 给出n个数字的序列,现在让你分成三段,使得每一段翻转之后拼接起来的序列字典序最小.保证第一个数是序列中最大的数. 例如样例是{10, 1, 2, 3, 4},分成{1, 10}, {2 ...

  4. ifream子页面与父页面互调

    function a1(x){ alert('父页面:' + x); } function acc(){ var frames = document.getElementById("dial ...

  5. tensorflow学习笔记(1)-环境配置

    配置环境anaconda3+windows10+pycharm+python==3.5.2+tensorflow==1.1.4+cuda10.0+cudnn7 https://www.anaconda ...

  6. Hash碰撞概率

    计算Hash冲突的概率 虽然已经很多可以选择的Hash函数,但创建一个好的Hash函数仍然是一个活跃的研究领域.一些Hash函数是快的,一些是慢的,一些Hash值均匀地分布在值域上,一些不是.对于我们 ...

  7. python爬虫登陆问题

    根据腾讯课堂网页登陆问题进行解说(需要安装谷歌浏览器): 1.导入库 import requests from selenium import webdriver 2.根据腾讯课堂链接,进入页面,获取 ...

  8. Requests方法 -- 项目实现自动发送邮件

    """1.discover方法里面有三个参数:-case_dir:这个是待执行用例的目录.-pattern:这个是匹配脚本名称的规则,test*.py意思是匹配test开 ...

  9. 数据结构-双向链表(Python实现)

    数据结构在编程世界中一直是非常重要的一环,不管是开发还是算法,哪怕是单纯为了面试,数据结构都是必修课,今天我们介绍链表中的一种--双向链表的代码实现. 好了,话不多说直接上代码. 双向链表 首先,我们 ...

  10. 每日一问:Android 滑动冲突,你们都是怎样处理的

    坚持原创日更,短平快的 Android 进阶系列,敬请直接在微信公众号搜索:nanchen,直接关注并设为星标,精彩不容错过. 在 Android 开发中,滑动冲突总是我们一个无法避免的话题.而对于解 ...