BestCoder Round #39 解题报告

 

 

  现场只做出前三题w

  不过不管怎样这既是第一次认真打BC

  又是第一次体验用在线编译器调代码

  订正最后一题花了今天一整个下午(呜呜

  收获还是比较大的^_^

 

 


 

 

 

 

 Delete

 

wld有n个数(a1,a2,...,an),他希望进行k次删除一个数的操作,使得最后剩下的nk个数中有最多的不同的数,保证1n100,0k<n,1ain(对于任意1in)

 

  比较简单的贪心...

  把出现一次以上的多于一次的部分都删除掉

  如果k依然>0就要删去k种不同的数

 

 


 

 

 

Multiple


wld有一个序列a[1..n], 对于每个1i<n, 他希望你求出一个最小的j(以后用记号F(i)表示),满足i<jn, 使ajai的倍数(即aj mod ai=0),若不存在这样的j,那么此时令F(i) = 0 保证1n10000,1ai10000 对于任意 1in, 且对于任意1i,jn(i!=j),满足ai != aj

 

  n^1.5次的大暴力即可

  发现BC好多题目都是用这种方法...在此之前并不认为这样可以过

  对于每个数枚举它所有的因数,刷新它们的f[i]值

 

 


 

 

 

Code


wld有一个长度为n的序列a1..an wld想要你给出下面这段c++代码的输出: int calc() {int res=0;for(int i=1;i<=n;i++)for(int j=1;j<=n;j++){res+=gcd(a[i],a[j])*(gcd(a[i],a[j])-1);res%=10007;}return res; } 保证1n10000,1ai10000 (对于任意1in)

 

 

  我的做法是n^1.5次的,但是发现题解是nlog(n)

  但上次莫比乌斯反演只看到一半...所以先弃疗吧

  讲讲n^1.5次的做法

  首先n^1.5的复杂度将每个数的因子打上标记

  我们可以枚举最大公约数d,如果有x个数有d这个因子

  那么就累计x*(x-1)次这个答案

  但是显然我们会发现问题

  如果两个数有4这个因子,那么在统计2的时候又会统计一次!

  解决方法很简单,我们可以预先处理出每个数应累计的答案f[i]

  枚举最大公约数d的同时,再枚举d的因子i,减去这个因子的答案

  注意:这里的答案也是处理过的答案,即f[i]

  最后单独累计i=j时的情况

  

  手速太慢...原因有好多个

  开始写的时候把+=看成了*=

  所以写了乘法逆元...然后调了半天输出了很多中间过程才发现错误

  然后还忘记了i=j的情况

  后来WA了一发,是因为枚举最大公约数的时候应枚举到a[i]的最大值而不是n

  刚开始没查出来,又开始证明算法的思路即f[i]的计算是否正确

  改来改去越来越离谱..突然发现是后面的问题

  然后就1h+辣> <

 

 


 

 

 

Lucky


wld有n个数(a1...an) 保证对于任意1in1ain wld有一个常数k保证2k2n 为了消除歧义保证k为奇数 他有m个询问 每个询问有参数l1,r1,l2,r2 保证(1l1r1<l2r2n) 对于每个询问你需要回答有多少个二元组(ij)满足: l1ir1l2jr2ai+aj=k 保证1n30000,1m30000

 

 

  

  恩..这道题在考场上确实是写不出来的..

  今天下午去学习了一下莫队算法...觉得很有趣...

  

  莫队算法就是建立在分块基础上,离线解决一系列区间询问问题

  首先这道题假设已知[l,r]中相加=k的对数

  那么我们可以通过复杂度不高的代价得知[l-1,r][l+1,r][l,r-1][l,r+1]的答案

  刚开始是打算用log级的倍增做的..但是交了一发TLE了

 

  这道题询问的是[l1,r1][l2,r2]中满足条件的对数

  如何转换成单个区间上面[l,r]中相加=k的对数呢

  假设题目中让我们求的是一个在区间A,一个在区间B的答案,我们假设为F(A,B),并且令F中统计的数对为有序的

  即只统计a[i]+a[j]=k且(i<j)的情况

  可以证明得出F(A,B) = F(A+C+B,A+C+B)-F(A+C,A+C)-F(B+C,B+C)+F(C,C)

  F(A+C+B,A+C+B)-F(A+C,A+C)-F(C+B,C+B)+F(C,C)

  = F(A,A)+F(A,C)+F(A,B)+F(C,C)+F(C,B)+F(B,B)-F(A,A)-F(A,C)-F(C,C)-F(C,C)-F(C,B)-F(B,B)+F(C,C)

  = F(A,B)

  转化成了4部分两区间相等的F,也就是可以用上面的莫队算法来解决了

 

  最后一个问题,就是转移的时候如何从log(n)转化成O(1)

  在执行莫队的同时,即l,r一位一位移动的时候,用一个数组记录当前区间内某个数出现的次数就可以了...

  

 


 

 

  涨了177w

  手速还是慢慢慢

 

  居然过了一个周末一下子就27号了呢

  居然再过两天又要回家了呢

  

  27/.Apr.

 

  

 

转载于:https://www.cnblogs.com/mjy0724/p/4460991.html

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

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

相关文章

linux :vim 实现命令行下输出进度条

1、 进度条原理&#xff1a; 进度条的的动态增长是利用人的视觉短暂停留效果的&#xff0c;不断从输出缓冲区刷新出相同的内容&#xff0c;在肉眼看来进度条在不断的增长。 在显示器上先输出[# ][%1] 刷新一次之后&#xff0c; …

***jquery选择器 之 获取父级元素、同级元素、子元素

一、获取父级元素1、 parent([expr]): 获取指定元素的所有父级元素 <div id"par_div"><a id"href_fir" href"#">href_fir</a><a id"href_sec" href"#">href_sec</a><a id"href_thr&q…

Sql Server字符串函数

字符串函数用于对字符和二进制字符进行各种操作 1.ASCII()函数 ASCII(character_expression)函数用于返回字符串表达式中最左侧的ASCII代码值。参数character_expression必须是一个char或varchar类型的字符串表达式。 eg: select ASCII(s),ASCII(sql),ASCII(1);执行结果如图:字…

linux 编辑器vim配置

1、 基本配置 对vim进行配置的目的&#xff1a; 进行vim配置&#xff0c;可以让我们在后续敲代码更加方便。按F5可以直接编译并执行C、C代码以及执行shell脚本&#xff1b;按“F8”可进行C、C代码的调试&#xff1b;“Ctrl A”为全选并复制快捷键&#xff0c;方便复…

Java从入门到精通——数据库篇Mongo DB GridFS文件系统

一、概述GridFS是MongoDB的一种存储机制&#xff0c;用来存储大型二进制文件。优点&#xff1a;1.使用GridFS能够简化你的栈。如果已经在使用MongoDB&#xff0c;那么可以使用GridFS来代替独立的文件存储工具2.GridFS会自动平衡已有的复制或者为MongoDB设置的自动分片&#xff…

centos 7上ambari安装试用

2019独角兽企业重金招聘Python工程师标准>>> 1、有三台centos7&#xff0c;名字分别是ws11.localdomain, ws12.localdomain, ws13.localdomain。配置epel源(安装epel-release)。 2、配置root用户ssh无密码访问。 3、安装ntp对时服务。 4、关闭防火墙。centos7下使…

进程管理—进程描述符(task_struct)

本文章转载自&#xff1a;http://blog.csdn.net/qq_26768741/article/details/54348586?locationNum4&fps1 前言 当把一个程序加载到内存当中&#xff0c;此时&#xff0c;这个时候就有了进程&#xff0c;关于进程&#xff0c;有一个相关的叫做进程控制块&#xff08;PCB&…

如何使用emacs编写c语言程序,并编译运行

vi和emacs被分别被称为编辑器之神和神之编辑器。vi的入门精通都很难&#xff0c;emacs入门容易&#xff0c;精通难&#xff1b;vi使用起来不停地切换模式&#xff0c;而emacs则不停地ctrl&#xff0c;meta等组合键。因此&#xff0c;高德纳大师说操作Emacs&#xff0c;就像弹奏…

jQuery 鼠标滚轮插件应用 mousewheel

jQuery Mousewheel Plugin,用于添加跨浏览器的鼠标滚轮支持。 mousewheel事件的处理函数有一点小小的变化&#xff0c;它除了第一个参数event 外&#xff0c;还接收到第二个参数delta。 通过参数delta可以获取鼠标滚轮的方向和速度。 如果delta的值是负的即-1&#xff0c;那么滚…

操作系统中常见的进程调度算法

一、调度与调度算法 调度&#xff1a;操作系统管理了系统的有限资源&#xff0c;当有多个进程&#xff08;或多个进程发出的请求&#xff09;要使用这些资源时&#xff0c;因为资源的有限性&#xff0c;必须按照一定的原则选择进程&#xff08;请求&#xff09;来占用资源。这…

大规模快速发展

Jez Humble在 GOTO Berlin 2015会议上讨论了限制大规模快速发展的组织障碍&#xff0c;并提到了如何解决这些障碍。InfoQ对他进行了采访&#xff0c;主要关于我们如何专注于价值而不是成本&#xff0c;为什么对工件的共识非常的有价值&#xff0c;当你不知道客户需要的特性时就…

粘滞位 File文件内容

t权限&#xff08;粘滞位)&#xff1a; 是‘不可删除’权限&#xff0c;就是说即使某用户拥有这个文件的rwx权限&#xff0c;可以随意修改文件内容&#xff0c;但是就是不能删除&#xff0c;甚至不能修改文件名&#xff0c;只有root才行。t权限也可以直接用 chmod ot/at fil…

hdu 3864 素数分解

题意&#xff1a;求n是否只有4个因子&#xff0c;如果是就输出除1外的所有因子。 模板题&#xff0c;就不排版了 1 #include<cstdio>2 #include<iostream>3 #include<algorithm>4 #include<cstring>5 #include<cmath>6 #include<queue>7 #…

QQuickRenderControl

2019独角兽企业重金招聘Python工程师标准>>> http://doc.qt.io/qt-5/qquickrendercontrol.html http://translate.google.com.hk/translate?hlzh-CN&slauto&tlen&uhttp%3A%2F%2Fhabrahabr.ru%2Fpost%2F247477%2F http://www.kdab.com/overview-qt3d-2-…

线程的控制(创建、等待、终止)、分离线程

一、线程控制 1、线程&#xff1a;线程是资源调度的基本单位&#xff0c;线程是进程内部的一个执行流&#xff0c;在进程的地址空间内运行。在Linux 下没有真正意义上的线程&#xff0c;线程是用进程模拟的&#xff0c;又被称为轻量级进程。 2、由于同⼀一进程的多个线程共享同…

从netty-example分析Netty组件

分析netty从源码开始 准备工作&#xff1a; 1.下载源代码&#xff1a;https://github.com/netty/netty.git 我下载的版本为4.1 2. eclipse导入maven工程。 netty提供了一个netty-example工程&#xff0c; 分类如下&#xff1a; Fundamental Echo ‐ the very basic client and …

$GLOBALS -- 变量

可以在$GLOBALS中获得所有的变量 $GLOBALS天然就是一个有很多内容的变量 $_SERVER $jackson "Example content";$_GET[A] A;$_GET[B] B; 于是乎 就有了 $GLOBALS[A]$GLOBALS[B]$GLOBALS[jackson]转载于:https://www.cnblogs.com/qinqiu/p/4475836.html

背景图片适应屏幕百分百

<!DOCTYPE html> <html><head><meta charset"utf-8"><meta name"viewport" content"widthdevice-width, initial-scale1" /><title>背景图片大小</title> </head><style>body{margin: 0;…

20150504-日报

1、Delphi中的存储过程 参数 数据类型Delphi7中的使用存储过程的话&#xff0c;加入要获取输入参数的话&#xff0c;一般都是通过这样的方式&#xff1a;with spDelRights do begin if Active then Close; Parameters.Clear; Parameters.Refresh; Parameters.ParamByName(usern…

cep

cep posted on 2015-12-16 17:03 秦瑞It行程实录 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/ruiy/p/5051673.html