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. 一篇文章让你理解Ceph的三种存储接口(块设备、文件系统、对象存储)

    “Ceph是一个开源的.统一的.分布式的存储系统”,这是我们宣传Ceph时常说的一句话,其中“统一”是说Ceph可以一套存储系统同时提供块设备存储.文件系统存储和对象存储三种存储功能.一听这句话,具有 ...

  2. Python基础-使用range创建数字列表以及简单的统计计算和列表解析

    1.使用函数 range() numbers = list(range[1,6]) print (numbers) 结果: [1,2,3,4,5] 使用range函数,还可以指定步长,例如,打印1~1 ...

  3. BZOJ 2039:[2009国家集训队]employ人员雇佣(最小割)

    http://www.lydsy.com/JudgeOnline/problem.php?id=2039 题意:中文题意. 思路:一开始想着和之前做的最大权闭合图有点像,但是如果把边全部当成点的话,那 ...

  4. scrapy基础知识之制作 Scrapy 爬虫 一共需要4步:

    1.新建项目 (scrapy startproject xxx):新建一个新的爬虫项目 2.明确目标 (编写items.py):明确你想要抓取的目标 3.制作爬虫 (spiders/xxspider. ...

  5. C语言实现—学生成绩管理系统(Linux下运行)

    开发环境:Linux 开发语言:C 相关文件下载: 码云:https://gitee.com/ikaros-521/c_project/tree/master/%E5%AD%A6%E7%94%9F%E ...

  6. kuangbin专题 专题一 简单搜索 Prime Path POJ - 3126

    题目链接:https://vjudge.net/problem/POJ-3126 题意:给你两个四位的素数N,M,每次改变N四位数中的其中一位,如果能经过有限次数的替换变成四位数M,那么求出最少替换次 ...

  7. C#开发中常用的加密算法总结

    相信很多人在开发过程中经常会遇到需要对一些重要的信息进行加密处理,今天给大家分享我个人总结的一些加密算法: 常见的加密方式分为可逆和不可逆两种方式 可逆:RSA,AES,DES等 不可逆:常见的MD5 ...

  8. 扫描线——POJ1151

    平面上有若干个矩形,求矩形相互覆盖的面积.为方便起见,矩形的边均平行于坐标轴. 我们根据容斥原理,矩形相互覆盖的面积即为所有矩形的面积和减去所有矩形所覆盖的面积即可. 而现在问题是如何求得所有矩形所覆 ...

  9. springcloud入门系列

    关于springcloud 1.写在前面 写着写这,不知不觉springcloud写了7,8篇了,今天把文章分下类,写下感受及后面的计划吧. (1)springcloud中最最重要的是eureka注册 ...

  10. 【原创】一个shell脚本记录(实现rsync生产文件批量迁移功能)

    #!/bin/bash #Date:2018-01-08 #Author:xxxxxx #Function:xxxxxx #Change:2018-01-17 # #设置忽略CTRL+C信号 trap ...