当前位置: 首页 > 编程日记 > 正文

Codeforces ECR50 div2题解

  A:签到

#include<iostream> 
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
#define ll long long
ll read()
{ll x=0,f=1;char c=getchar();while (c<'0'||c>'9') {if (c=='-') f=-1;c=getchar();}while (c>='0'&&c<='9') x=(x<<1)+(x<<3)+(c^48),c=getchar();return x*f;
}
ll n,k;
int main()
{n=read(),k=read();cout<<(k-1)/n+1;return 0;
}

  B:大讨论。想清楚的话可以写的更优美一点。

#include<iostream> 
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
int read()
{int x=0,f=1;char c=getchar();while (c<'0'||c>'9') {if (c=='-') f=-1;c=getchar();}while (c>='0'&&c<='9') x=(x<<1)+(x<<3)+(c^48),c=getchar();return x*f;
}
int n;
int main()
{n=read();for (int i=1;i<=n;i++){long long x,y,k,ans=-1;cin>>x>>y>>k;if (x>y) swap(x,y);if (k>=x){if (x==y) ans=((k&1)==(x&1))?k:k-2;else{ans=x;k-=x;y-=x;if (k<y) ans=-1;else{if (y%2==0){if (k&1) ans+=k-2;else ans+=k;}else ans+=k-1;}}}cout<<ans<<endl;}return 0;
}

  C:大力数位dp。还可以把所有合法数都找出来然后二分找答案。

#include<iostream> 
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
int read()
{int x=0,f=1;char c=getchar();while (c<'0'||c>'9') {if (c=='-') f=-1;c=getchar();}while (c>='0'&&c<='9') x=(x<<1)+(x<<3)+(c^48),c=getchar();return x*f;
}
int n,a[20];
long long C(int n,int m)
{if (m<0) return 0;if (m==0) return 1;if (m==1) return n;if (m==2) return n*(n-1)/2;if (m==3) return n*(n-1)*(n-2)/6;
}
long long calc(long long x)
{int n=0,cnt=0;long long ans=0;memset(a,0,sizeof(a));while (x) a[++n]=x%10,x/=10;for (int i=n;i;i--)if (a[i]){if (cnt<=3) ans++;if (cnt<=2) ans+=9*C(i-1,1);if (cnt<=1) ans+=9*9*C(i-1,2);if (cnt<=0) ans+=9*9*9*C(i-1,3);cnt++;if (cnt<=3) ans+=a[i]-1;if (cnt<=2) ans+=(a[i]-1)*9*C(i-1,1);if (cnt<=1) ans+=(a[i]-1)*9*9*C(i-1,2);}if (cnt<=3) ans++;return ans;
}
int main()
{n=read();for (int i=1;i<=n;i++){long long x,y;cin>>x>>y;cout<<calc(y)-calc(x-1)<<endl;}return 0;
}

  D:B题难度。双指针移动,若匹配上则ans++。

#include<iostream> 
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
int read()
{int x=0,f=1;char c=getchar();while (c<'0'||c>'9') {if (c=='-') f=-1;c=getchar();}while (c>='0'&&c<='9') x=(x<<1)+(x<<3)+(c^48),c=getchar();return x*f;
}
#define N 300010
int n,m,ans=0;
long long a[N],b[N];
int main()
{n=read();for (int i=1;i<=n;i++) a[i]=read()+a[i-1];m=read();for (int i=1;i<=m;i++) b[i]=read()+b[i-1];int x=0;for (int i=1;i<=n;i++){while (x<=m&&a[i]>b[x]) x++;if (x>m) {ans=-1;break;}if (a[i]==b[x]) ans++;}if (a[n]!=b[m]) ans=-1;if (x<m) ans=-1;cout<<ans;return 0;
}

  E:gcd一下求出线段上整点数量再暴力算交点去重即可。没有写,据说很卡精度。

  F:可以发现所求的就是存在k>1,k∈N*使开k次方为整数的数。可以算出有多少个能开k次方的数,然后用莫比乌斯函数容斥。开方直接用pow再微调一下。

#include<iostream> 
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
#define ll long long
ll read()
{ll x=0,f=1;char c=getchar();while (c<'0'||c>'9') {if (c=='-') f=-1;c=getchar();}while (c>='0'&&c<='9') x=(x<<1)+(x<<3)+(c^48),c=getchar();return x*f;
}
#define N 110
int T,prime[N],mobius[N],cnt=0;
bool flag[N];
ll calc(ll n,int k)
{ll a=pow(n,(long double)1/k);ll s=1;for (int i=1;i<=k;i++){if (s>n/(a+1)) break;s=s*(a+1);if (i==k&&s<=n) return a+1;}return a;
}
int main()
{flag[1]=1;mobius[1]=1;for (int i=2;i<=100;i++){if (!flag[i]) prime[++cnt]=i,mobius[i]=-1;for (int j=1;prime[j]*i<=100&&j<=cnt;j++){flag[prime[j]*i]=1;if (i%prime[j]==0) break;mobius[prime[j]*i]=-mobius[i];}}T=read();while (T--){ll n=read(),ans=0;for (int i=1;i<=60;i++)if (mobius[i]) ans+=mobius[i]*(calc(n,i)-1);printf("%I64d\n",ans);}return 0;
}

  G:如果图是强连通的,那么图中每个点都在某些源到汇的路径上。于是只要源和汇之间相互可达就可以了。用这个性质直接随机的话据说错误率只有1e-8。

  当然考虑靠谱的做法。注意到源汇的个数很少,考虑枚举源子集,验证其是否可能与剩下部分不在同一SCC内(当然枚举的子集不包括全集)。

  源子集对应了一个汇子集。那么显然若汇子集大小不大于源子集,则可以将汇的出边全部连向该源子集,剩下部分无法与其强连通。

  上述检验没有考虑子集内部是否可以连接至强连通。不过在枚举该子集的子集时这种情况已经被检验。

转载于:https://www.cnblogs.com/Gloid/p/9615435.html

相关文章:

开发ios的语言

iOS发展这么多年了&#xff0c;很多第三方语言都向开发一种自己的iOS&#xff0c;于是多种跨平台诞生了&#xff01; Object-c、swift&#xff1a; 当然是开发iOS的首先&#xff0c;毕竟是苹果自己的东西&#xff0c;也是最流行、最适合开发ios的&#xff0c;无论是UI库、性能、…

c语言程序设计分段定时器,单片机C语言编程定时器的几种表达方式

原标题&#xff1a;单片机C语言编程定时器的几种表达方式吴鉴鹰单片机开发板地址店铺&#xff1a;【吴鉴鹰的小铺】地址&#xff1a;【https://item.taobao.com/item.htm?_uukgdp5a7629&id524088004171】单片机C语言编程中&#xff0c;定时器的初值对于初学者真的是比较不…

上交2017计算机专业就业,上海交通大学计算机科学与工程系(CSE)

经过多轮的意向调整&#xff0c;最终确定的生产实习去向结果公示(请见附件)。原则上&#xff0c;经公示后结果不做调整。生产实习执行时间从7月24日到8月27日&#xff0c;请目前尚未就课题开展明细跟导师联系的同学在7月24日之前务必联系导师。一、实习报告要求1、从教务网站&a…

树上倍增求lca

嗯~ o(*&#xffe3;▽&#xffe3;*)o lca是树上两点的最近公共祖先。如果在同一个分支上就是更靠近根的那个点&#xff0c;否则就是大家一起向上走&#xff0c;第一次能都经过的那个点。 根据这两个性质&#xff0c;我们对于每次询问可以把一个向上走到根节点&#xff0c;标记…

ios app内嵌入http服务器

1.采用CocoaHTTPServer https://github.com/robbiehanson/CocoaHTTPServer 2.采用MongooseDaemon https://github.com/face/MongooseDaemon

编程模拟洗牌和发牌过程c语言,洗牌发牌模拟系统课程设计报告.doc

集美大学诚毅学院《高级语言程序设计》课程设计实验报告题目&#xff1a;洗牌和发牌模拟专业&#xff1a;计算机科学与技术班级&#xff1a;姓名&#xff1a;成绩&#xff1a;指导教师&#xff1a;完成日期&#xff1a;2008 年 6月 26 日一、目的C语言进行程设计的能力&#xf…

使用complete的图片属性检测图片是否加载完毕

转载于:https://www.cnblogs.com/zclx/p/6652545.html

学金融买计算机配置,我是学金融投资的计算机等级考试哪个方向对我工作有用...

你好&#xff1a;你的这种情况应该是系统调整或服务器维护造成的&#xff0c;在这两天还有很多网友无法进入主页&#xff0c;请耐心等待&#xff0c;新浪工作日人员会尽快将系统恢复&#xff01; 祝顺利&#xff01;多出好文章&#xff01; 博客临时故障&#xff0c;用新浪各种…

NOIP2018TG 初赛复习

Date&#xff1a; 20180911 TCP/IP OSI7面向对象的程序设计语言 1.不是自顶向下2.simula 67语言 第一个3.继承性、封装性、多态性NOIP支持的语言环境&#xff1a;对于c / c &#xff1a;Dev-Cpp \ RHIDE (DJGPP) &#xff08;推荐&#xff1a;Dev-Cpp&#xff09;对于pascal&am…

分裂游戏(bzoj 1188)

Description 聪聪和睿睿最近迷上了一款叫做分裂的游戏。 该游戏的规则试&#xff1a; 共有 n 个瓶子&#xff0c; 标号为 0,1,2.....n-1, 第 i 个瓶子中装有 p[i]颗巧克力豆&#xff0c;两个人轮流取豆子&#xff0c;每一轮每人选择 3 个瓶子。标号为 i,j,k, 并要保证 i < j…

rb c语言,C语言,RB和RBT什么区别啊???这里的typedef 什么作用???

满意答案guiyalm47042017.01.10采纳率&#xff1a;58% 等级&#xff1a;12已帮助&#xff1a;5026人1) #define是预处理指令&#xff0c;在编译预处理时进行简单的替换&#xff0c;不作正确性检查&#xff0c;不关含义是否正确照样带入&#xff0c;只有在编译已被展开的源程…

ios 项目的.gitignore

git作为代码管理工具&#xff0c;.gitignore文件用来忽略哪些哪些文件不用添加到仓库管理https://www.gitignore.io/ 这个网址输入变成语言会帮你生成常用的忽略文件如&#xff1a;IOS项目&#xff0c;输入Xcode、Object-C、Swift、C、C、git、svn生成&#xff1a;# Created by…

计算机一级ps2019,2019年计算机一级考试PS基础学习点子:PS菜单中英文对照表.docx...

2019 年计算机一级考试 PS 基础学习点子&#xff1a; PS 菜单中英文对照表PS菜单中英文对照表一、FileNew2.Open3.Open As4.Open RecentClose6.Save7.Save As8.Save for Web9.Revert10.Place11.ImportPDF ImageAnnotationsExportManage WorkflowCheck InUndo Check OutUpload T…

ffmpeg 常用命令

mp4中的h264编码&#xff0c;而h264有两种封装&#xff1a; 一种是annexb模式&#xff0c;传统模式&#xff0c;有startcode&#xff0c;SPS和PPS是在ES中&#xff1b;另一种是mp4模式&#xff0c;一般mp4、mkv、avi会没有startcode&#xff0c;SPS和PPS以及其它信息被封装在co…

re.sub用法

re.sub功能是对于一个输入的字符串&#xff0c;利用正则表达式&#xff0c;来实现字符串替换处理的功能返回处理后的字符串 re.sub共有五个参数 三个必选参数pattern,repl,string 两个可选参数count,flags pattern,表示正则中的模式字符串 反斜杠加数字&#xff08;\n&#xff…

标准c语言怎么绘图,C语言绘图问题

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼这是我写的程序&#xff0c;检查无误&#xff0c;但运行不了&#xff0c;不过我这水平也只能做到这份上了&#xff0c;求大神指教&#xff0c;以后我一定好好学习#include#include#include#includevoid main(){int a,b,c,d,a2,b2,c…

计算机操作培训主持词,魅力女性沙龙会主持词文稿.docx

魅力女性沙龙会主持词??性的学科、一项重要的经济管理工作&#xff0c;是加强经济管理&#xff0c;提高经济效益的重要手段&#xff0c; 经济管理离不开会计&#xff0c; 经济越发展会计工作就显得越重要。会计工作在提高经济在企业的经营管理中起着重要的作用&#xff0c;其…

面向对象的3大特性

1.封装 ****目的&#xff1a;为了使一个类更加安全 做法&#xff1a; ****1.将成员变量变为私有的2.再类中做方法来间接访问成员变量3.在方法中加入控制条件 //一个成员变量还是可以的&#xff0c;但是不适用于多个成员变量&#xff08;即可写也可读&#xff09; 1234567891011…

MySQL内存结构

实际上MySQL内存的组成和Oracle类似&#xff0c;也可以分为SGA&#xff08;系统全局区&#xff09;和PGA&#xff08;程序缓存区&#xff09;。 mysql>show variables like "%buffer%"; 一、SGA 1.innodb_buffer_bool 用来缓存Innodb表的数据、索引、插入缓冲、数…

FFmpeg介绍

---恢复内容开始--- FFmpeg是一套可以用来记录、转换数字音频、视频&#xff0c;并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec&#xff0c;为了保证高可移植性和编…

amp 保留指定位c语言,C语言位运算符学习

8种机械键盘轴体对比本人程序员&#xff0c;要买一个写代码的键盘&#xff0c;请问红轴和茶轴怎么选&#xff1f;[Toc]概念位运算是指按二进制进行的运算。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数&#xff0c;即只能用于带符号或无符号的char,short,int与lo…

计算机设备管理器不显示com,台式机设备管理器打开是空白怎么办_win10设备管理无法显示解决方法...

2015-06-15 14:08:22  浏览量&#xff1a;2252win7设备管理器空白怎么办&#xff1f;最近有用户反馈打开设备管理器的时候&#xff0c;发现win7设备管理器显示空白&#xff0c;该怎么处理这个问题&#xff1f;下面跟随小编脚步一起看看win7系统打开设备管理器空白的解决方法。…

用Django内置form组件实现注册

HTML页面代码块&#xff1a; 1 <!DOCTYPE html>2 <html lang"en">3 <head>4 <meta charset"UTF-8">5 6 <link rel"stylesheet" href"/static/bootstrap/css/bootstrap.min.css">7 <titl…

Mac上搭建Nginx + rtmp

介绍 nginx是非常优秀的开源服务器&#xff0c;用它来做hls或者rtmp流媒体服务器是非常不错的选择&#xff0c;本人在网上整理了安装流程&#xff0c;分享给大家并且作备忘。 安装步骤 1.先安装brew&#xff1a; /usr/bin/ruby -e "$(curl -fsSL https://raw.githubuserco…

关于 ListBox 自动换行

网络上搜不到能用的信息&#xff0c;在此记录一下我的方案。 思路是通过数据模板&#xff0c;达到换行的目的&#xff0c;如下&#xff1a; 1 <ListBox.ItemTemplate> 2 <DataTemplate> 3 <TextBlock Text"{Binding}" TextWrapping"…

c语言链表找姓,急啊!!!求救了 C语言编一个链表,输出姓名和学号就好

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include#include#include#includetypedef struct Node{int data;struct Node *next;}AN;int data;AN *CreList(AN *head);AN *InsList(AN *head,int data);AN *DelList(AN *head,int data);void find(int value,AN *head);void De…

计算机审计 pdf,计算机审计第三章作业.pdf

1. 审计软件的审计实施阶段前&#xff0c;包括哪些内容&#xff1f;答&#xff1a; a. 项目管理b. 数据准备c. 审计准备2. 新建审计项目时&#xff0c;在“项目登记”界面里&#xff0c;在定义‘审计时限范围’时&#xff0c;可以创建多年度数据时间吗&#xff1f;答&#xff1…

c语言通讯录打电话,C语言实现简易通讯录 | 术与道的分享

#include #include #include #include #include #pragma warning (disable:4996)enum Contact //枚举变量{Quit, //默认为0&#xff0c;下面依次递增1Add, //1Delect, //2Select, //3Alter, //4Show, //5Empty, //6Sort //7};//打印菜单void menu(){printf("#############…

Excel向数据库插入数据和数据库向Excel导出数据

为了熟悉java里工作簿的相关知识点&#xff0c;所以找了“Excel向数据库插入数据和数据库向Excel导出数据”的功能来实现。 注意事项&#xff1a;1&#xff0c;mysql数据库&#xff1b; 2&#xff0c;需要导入的jar包有 jxl.jar&#xff0c;mysql-connector-java-5.1.22-bin.ja…

9.12学习内容

操作系统基础 操作系统是协调、控制、管理计算机硬件资源与软件资源的控制程序 为什么要用操作系统&#xff1f; 1.操作系统可以把复杂的操作简化给用户使用或者应用程序 2.可以让应用程序对计算机硬件竞争变的有序 一套完整的计算机分为&#xff1a;操作系统、应用程序、计算机…