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. Python机器学习经典实例电子版和附带源码

    Python机器学习经典实例电子版和附带源码 下载:https://pan.baidu.com/s/1m6ODNJk--PWHW8Vdsdjs-g 提取码:nyc0 分享更多python数据分析相关电 ...

  2. POJ 1741:Tree(树上点分治)

    题目链接 题意 给一棵边带权树,问两点之间的距离小于等于K的点对有多少个. 思路 <分治算法在树的路径问题中的应用> 图片转载于http://www.cnblogs.com/Paul-Gu ...

  3. map的实现--红黑树

    一.什么是红黑树???   红黑树首先是一棵搜索二叉树,树中的每一个结点的颜色不是黑色就是红色.它的特性如下:   1.根节点是黑色   2.每一个结点不是黑色就是红色   3.不能有连续的两个红色结 ...

  4. 2019 Java 全栈工程师进阶路线图,一定要收藏

    技术更新日新月异,对于初入职场的同学来说,经常会困惑该往那个方向发展,这一点松哥是深有体会的. 我刚开始学习 Java 那会,最大的问题就是不知道该学什么,以及学习的顺序,我相信这也是很多初学者经常面 ...

  5. 免费rar/zip解压缩工具BandZip

    今天为大家推荐一款解压缩类软件--BandZip bandzip是我认为的最好用的解压缩软件,速度快没广告 能够秒杀其他的压缩类软件 下载地址 bandzip点我 1 BandZip简介 BandZi ...

  6. Django rest framework(4)----版本

    目录 Django组件库之(一) APIView源码 Django restframework (1) ----认证 Django rest framework(2)----权限 Django res ...

  7. JAVA十大经典排序算法最强总结(含JAVA代码实现)

    十大经典排序算法最强总结(含JAVA代码实现)   最近几天在研究排序算法,看了很多博客,发现网上有的文章中对排序算法解释的并不是很透彻,而且有很多代码都是错误的,例如有的文章中在“桶排序”算法中对每 ...

  8. [Usaco2007 Open]Fliptile 翻格子游戏题解

    问题 B: [Usaco2007 Open]Fliptile 翻格子游戏 时间限制: 5 Sec  内存限制: 128 MB 题目描述 Farmer John knows that an intell ...

  9. ~~核心编程(四):面向对象——单继承&复写~~

    进击のpython 继承 继承的出现!就是一个作用! 为了节省代码! 为什么说节省代码? 你爸爸要是王健林 你是不是就不用愁怎么获得钱了? 为啥? 是不是钱已经有了! 直接拿来用就行了! 我们想一下奥 ...

  10. Q&A-20180128

    Orleans与Akka对比,为什么选用Orleans? 答: Akka对参与开发的人员要求更高一些,普遍是专家级别,Orleans框架进一步抽象了一层,结合C#语言特性,能普遍降低开发难度. 下面是 ...