牛客小白月赛18-记录

正题

比赛链接:https://ac.nowcoder.com/acm/contest/1221


成绩

在这里插入图片描述
在这里插入图片描述


总结

好难,就拿了一些水题分


T1:Forsaken喜欢数论\texttt{T1:Forsaken喜欢数论}T1:Forsaken喜欢数论

题目大意

f(i)f(i)f(i)表示iii的最小质因子,求∑i=2nf(i)\sum_{i=2}^nf(i)i=2nf(i)

解题思路

线性筛就是用每个数的最小质因子把这些数筛掉,所以筛的时候统计就好了

codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
ll n,cnt,prime[6893911*3],ans;
bool v[10000001*3];
int main()
{scanf("%lld",&n);v[1]=1;for(ll i=2;i<=n;i++){if(!v[i]) prime[++cnt]=i,ans+=i;for(ll j=1;j<=cnt&&i*prime[j]<=n;j++){v[prime[j]*i]=1;ans+=prime[j];if(!(i%prime[j])) break;}}printf("%lld",ans);
}

T2:Forsaken喜欢字符串\texttt{T2:Forsaken喜欢字符串}T2:Forsaken喜欢字符串

题目大意

对于一个字符串的子串的价值是在其他字符串里有多少个和它相同的子串。

nnn个字符串,每次询问第xxx个字符串长度为lenlenlen的子串的价值之和是多少

解题思路

我们发现每个字符串的长度都很小,所以我们可以暴力字符串hash+maphash+maphash+map库来统计

要注意的是不能算上自己这个字符串,所以每次询问时在开一个mapmapmap,再用两个相减

codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<map>
using namespace std;
const int N=5e4+10;
int n,k,m;
map<int,int> v,now;
char s[N][6];
int main()
{scanf("%d%d",&n,&k);for(int i=1;i<=n;i++){scanf("%s",s[i]);for(int l=0;l<k;l++){int z=0;for(int r=l;r<k;r++){z+=s[i][r]-'a'+1;z*=27;v[z]+=r-l+1;}}}scanf("%d",&m);while(m--){int x,len;scanf("%d%d",&x,&len);now.clear();int ans=0;for(int l=0;l<k;l++){int z=0;for(int r=l;r<k;r++){z+=s[x][r]-'a'+1;z*=27;now[z]+=r-l+1;}}for(int l=0;l<k;l++){int z=0;if(l+len>k) continue;for(int r=l;r<min(l+len,k);r++)z+=s[x][r]-'a'+1,z*=27;ans+=v[z]-now[z];}printf("%d\n",ans);}
}

T3:Forsaken给学生分组\texttt{T3:Forsaken给学生分组}T3:Forsaken给学生分组

题目大意

nnn个数分为kkk组,每组的价值是最大的数减去最小的数。求最大价值和

解题思路

显然我们可以贪心选取,需要注意的是若k>n2k>\frac{n}{2}k>2n,那么有些就得单独一组

codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
const ll N=1e5+10;
ll n,k,a[N],ans;
int main()
{scanf("%lld%lld",&n,&k);for(ll i=1;i<=n;i++)scanf("%lld",&a[i]);sort(a+1,a+1+n);if(k>n/2) k=n-k;for(ll i=1;i<=k;i++)ans+=a[n-i+1]-a[i];printf("%lld",ans);
}

T4:Forsaken喜欢正方形\texttt{T4:Forsaken喜欢正方形}T4:Forsaken喜欢正方形

题目大意

求四个点能不能组成正方形,或者微调之后能不能组成正方形。

解题思路

考试的时候直接匹配了444条边相等(没有判断菱形)就过了,如果要判断菱形就加一个判断对角线是不是边长的2\sqrt22倍就好了,这里就不加先了

codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int x[5],y[5];
const int dx[4]={0,0,1,-1},dy[4]={1,-1,0,0};
int get_dis(int a,int b)
{return (x[a]-x[b])*(x[a]-x[b])+(y[a]-y[b])*(y[a]-y[b]);}
bool check()
{int l1=get_dis(1,2),l2=get_dis(2,3),l3=get_dis(3,4),l4=get_dis(4,1);if(l1==l2&&l2==l3&&l3==l4) return 1;l1=get_dis(1,2),l2=get_dis(2,4),l3=get_dis(4,3),l4=get_dis(3,1);if(l1==l2&&l2==l3&&l3==l4) return 1;l1=get_dis(1,3),l2=get_dis(3,2),l3=get_dis(2,4),l4=get_dis(4,1);if(l1==l2&&l2==l3&&l3==l4) return 1;l1=get_dis(1,3),l2=get_dis(3,4),l3=get_dis(4,2),l4=get_dis(2,1);if(l1==l2&&l2==l3&&l3==l4) return 1;l1=get_dis(1,4),l2=get_dis(4,2),l3=get_dis(2,3),l4=get_dis(3,1);if(l1==l2&&l2==l3&&l3==l4) return 1;l1=get_dis(1,4),l2=get_dis(4,3),l3=get_dis(3,2),l4=get_dis(2,1);if(l1==l2&&l2==l3&&l3==l4) return 1;return 0;
}
int main()
{for(int i=1;i<=4;i++)scanf("%d%d",&x[i],&y[i]);if(check()){printf("wen");return 0;}for(int i=1;i<=4;i++){for(int k=0;k<4;k++){x[i]+=dx[k];y[i]+=dy[k];if(check()){printf("hai xing");return 0;}x[i]-=dx[k];y[i]-=dy[k];}}printf("wo jue de bu xing");
}

T7:Forsaken的三维数点\texttt{T7:Forsaken的三维数点}T7:Forsaken的三维数点

题目大意

一个三维空间以(0,0,0)(0,0,0)(0,0,0)为中心,每次两个操作

  1. 加入一个能量球在(x,y,z)(x,y,z)(x,y,z)
  2. 以中心半径为kkk的球能够包括xxx个能量球,求kkk的最小整数值

解题思路

因为是kkk的最小整数值,所以我们直接对于小数向上取整,然后二分+树状数组即可

codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#define lowbit(x) x&-x
using namespace std;
const int N=2e5+10;
int n,t[N+10],l,r;
void change(int x,int z)
{while(x<=N){t[x]+=z;x+=lowbit(x);}
}
int ask(int x)
{int ans=0;while(x){ans+=t[x];x-=lowbit(x);}return ans;
}
double get_dis(double x,double y,double z)
{return sqrt(x*x+y*y+z*z);}
int main()
{scanf("%d",&n);for(int i=1;i<=n;i++){int op;double x,y,z;scanf("%d%lf",&op,&x);if(op==1){scanf("%lf%lf",&y,&z);double dis=get_dis(x,y,z);dis+=(((int)dis)!=dis);change((int)dis,1);}else{l=0;r=N;while(l<=r){int mid=(l+r)/2;if(ask(mid)<(int)x) l=mid+1;else r=mid-1;}if(ask(l)<(int)x) printf("-1\n");else printf("%d\n",l);}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/321904.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.NET Core开源API网关 – Ocelot中文文档

Ocelot是一个用.NET Core实现并且开源的API网关&#xff0c;它功能强大&#xff0c;包括了&#xff1a;路由、请求聚合、服务发现、认证、鉴权、限流熔断、并内置了负载均衡器与Service Fabric、Butterfly Tracing集成。这些功能只都只需要简单的配置即可完成&#xff0c;下面我…

ABP前端使用阿里云angular2 UI框架NG-ZORRO分享

一、前言前段时间写博客分享和介绍了阿里云的UI框架NG-ZORRO&#xff08;博客请查看&#xff1a;http://www.cnblogs.com/donaldtdz/p/7892960.html&#xff09;&#xff0c;结合近段时间对.Net开源框架ABP的学习。完成将ABP前端框架替换成阿里云的NG-ZORRO。二、替换说明ABP版…

Prufer序列 生成树定理

Description 在图论中&#xff0c;树的定义是连通且无环的无向图。对于一棵有 nn 个节点且节点从 11 到 nn 编号的树&#xff0c;它的 Prufer 序列是一个唯一的长为 n−2n−2 的标号序列。 Prufer 序列的构造方法&#xff1a;每次删除树中标号最小的叶子节点&#xff08;即度为…

NOI.AC-积木【堆】

正题 题目链接:http://noi.ac/contest/266/problem/794 题目大意 无限多个1∗21*21∗2的砖块交替着 一个砖块会掉落仅当下方两个砖块都掉落&#xff0c;现在抽出nnn个砖块&#xff0c;求掉落多少个砖块。 解题思路 开一个优先队列&#xff0c;若两个连在一起的就把上面那个…

大规模开发团队如何实现DevOps转型? 来自微软全球开发平台工程团队的实践经验

微软全球开发平台工程团队从敏捷到DevOps的转型2013年11月13日&#xff0c;我们宣布了Visual Studio2013&#xff0c;以及微软研发云Visual Studio Online (VSO)的正式商用。紧接着我们经历了一次长达七小时的服务中断。我们的服务运行在一个“弹性扩展单元”中&#xff0c;为大…

野鸡NOI.AC模拟赛【2019.10.26】

前言 截止至2019.10.2614:222019.10.26\ \ \ \ 14:222019.10.26 14:22 成绩 正题 T1:NOI.AC−T1:NOI.AC-T1:NOI.AC−序列【堆】 https://blog.csdn.net/Mr_wuyongcong/article/details/102755906 T2:NOI.AC−T2:NOI.AC-T2:NOI.AC−积木【堆】 https://blog.csdn.net/Mr_wu…

Golang的CSP很酷?其实.NET也可以轻松完成

CSP&#xff08;Communicating sequential processes&#xff09;这东西我一开始以为很简单&#xff0c;后面差了资料发现它独树一帜&#xff0c;自己是一门语言&#xff0c;也是一套理论。这边我不深入的对它做过多的见解&#xff0c;我怕耽误大家_&#xff0c;大家可以看看wi…

SignalR Core尝鲜

要点SignalR Core改用Microsoft.AspNetCore.Sockets&#xff0c;不再依赖HTTP。使用MessagePack序列化格式&#xff0c;支持二进制协议。TypeScript客户端移除了第三方依赖包。支持WebSocket原生客户端&#xff0c;可以使用自己构建的客户端连接到SignalR服务器。伸缩方式更灵活…

2016陕西省ACM 热身体B 种类并查集

Energy 发布时间: 2017年3月27日 11:31 最后更新: 2017年3月27日 18:30 时间限制: 1000ms 内存限制: 256M 描述 人类准备发射载人飞船前往火星。 飞船使用了一种特殊的反物质燃料来作为动力&#xff0c;在飞船的制造期间&#xff0c;同时人类也在从宇宙 的各个地方收集这…

kubernetes实践之运行aspnetcore webapi微服务

1、预备工作unbuntu 16.04 or abovedocker for linuxkubernetes for linux 集群环境2、使用vs2017创建一个web api应用程序&#xff0c;并打包镜像到本地。3、推送本地镜像到docker hub4、编写k8s资源配置文件(yml)hello-world-deployment.yml如下上面replicas部署两个副本实例…

使用.NET Core快速开发一个较正规的命令行应用程序

一般命令行程序包含什么&#xff1f;使用方式帮助信息子命令参数选项帮助信息帮助信息如上&#xff0c;介绍了命令的作用和参数、选项作用。这个是必不可少的。子命令一个应用程序打包了多个功能&#xff0c;这时候就可以使用子命令&#xff0c;比如 dotnet ef migrations&…

Window7 docker安装

一、下载docker toolbox docker-toolbox-windows-docker-toolbox安装包下载_开源镜像站-阿里云 -ce后缀的是免费的版本&#xff0c;其他是收费版本 二、安装 安装完成即可 三、启动docker 双击 Docker Quickstart Terminal启动 其他问题&#xff1a; 启动拉boot2docker镜像失…

aspnetcore.webapi实践k8s健康探测机制 - kubernetes

1、浅析k8s两种健康检查机制Liveness k8s通过liveness来探测微服务的存活性&#xff0c;判断什么时候该重启容器实现自愈。比如访问 Web 服务器时显示 500 内部错误&#xff0c;可能是系统超载&#xff0c;也可能是资源死锁&#xff0c;此时 httpd 进程并没有异常退出&#xff…

快速搭建CentOS+ASP.NET Core环境支持WebSocket

以前用python&#xff0c;go尝试在linux下做web服务&#xff0c;python没有强类型支持与高性能&#xff0c;go又没有很好的集成开发环境&#xff08;还有强迫症的语法&#xff09;&#xff0c;回头看了几次.net&#xff0c;都没有时间尝试&#xff0c;现终于实现了这些想法&…

来自后端的突袭? --开包即食的教程带你浅尝最新开源的C# Web引擎 Blazor

在今年年初, 恰逢新春佳节临近的时候. 微软给全球的C#开发者们, 着实的送上了一分惊喜. 微软正式开源Blazor &#xff0c;将.NET带回到浏览器.这个小惊喜, 迅速的在dotnet开发者中间传开了. 而就在昨天(2018年3月22日) Blazor发布了它的第一次Release. Blazor到底是个什么样的东…

dotnet watch+vs code提升asp.net core开发效率

在园子中&#xff0c;已经又前辈介绍过dotnet watch的用法&#xff0c;但是是基于asp.net core 1.0的较老版本来讲解的&#xff0c;在asp.net core 2.0的今天&#xff0c;部分用法已经不太一样&#xff0c;所以就再写一篇文章来介绍dotnet watch vs code来提升asp.net core开发…

ASP.NET Core + Docker + Jenkins + gogs + CentOS 从零开始搭建持续集成

没有采用gitlab&#xff0c;因为gitlab比较吃配置。也比较重&#xff0c;用不到那么多功能。采用go语言开发的gogs来代替。免费HTTPS证书安装Gogs (一个gitserver&#xff0c;类似于gitlab)安装DockerDocker配置加速器 一定要配置&#xff0c;用官方的源会让你体会到什么叫做绝…

使用CoreRT将.NET Core发布为Native应用程序

在上一篇文章《使用.NET Core快速开发一个较正规的命令行应用程序》中我们看到了使用自包含方式发布的.NET Core应用中包含了216个文件。我就写一个cat命令用得着这么动真格。。。这写出来的命令行还有人用吗&#xff1f;今天我们就来介绍一下MS的另一个开源项目CoreRT。用来解…

.NET Core 2.1预览版首次引入Global Tools

Global Tools是.NET Core 2.1预览版中其中一个初次出现的特性。Global Tools提供了一种方法&#xff0c;让开发人员编写的.NET Core应用可以打包成NuGet包交付。如果.NET Core运行在目标平台上&#xff0c;那么一个恰当打包的Global Tool就可以在那上面运行。JavaScript开发人员…

开源服务容错处理库Polly使用文档

在进入SOA之后&#xff0c;我们的代码从本地方法调用变成了跨机器的通信。任何一个新技术的引入都会为我们解决特定的问题&#xff0c;都会带来一些新的问题。比如网络故障、依赖服务崩溃、超时、服务器内存与CPU等其它问题。正是因为这些问题无法避免&#xff0c;所以我们在进…