2019 Multi-University Training Contest 5

A. fraction

upsolved

题意 输入 \(x,p\),输出最小的 \(b\) 使得 \(bx\%p<b\)

做法

  • \(bx-py<b\),即 \(b(x-1)<py\),即 \(\frac{b}{y}<\frac{p}{x-1}\)
  • 另一方面,\(bx>py\),即 \(\frac{p}{x}<\frac{b}{y}\)
  • GCD 即可。

B. three arrays

unsolved

题意 给定两个数组\(a\),\(b\),要求两两配对异或和得到的\(c\)数组字典序最小。

做法

  • 比赛时就是个憨憨
  • 对\(a,b\)序列分别建字典树
  • 开两个指针初始分别指向两颗字典树的根节点,然后同步行动
    (1)当两棵树左儿子都还有时,该两个指针都往左儿子跑
    (2)当两棵树右儿子都还有时,该两个指针都往右儿子跑
    (3)当上述两种情况没了,就一左一右地跑,这样会对后面的答案产生\((1<<dep)\)地影响
  • 递归处理即可
  • 时间复杂度大胆猜测为\(O(n * logMAX)\)

D. equation

solved by rdc 78min -2

题意 求\(\sum_{i=1}^{n} |a_ix+b_i| = C\) 的解。

做法 分段函数,对零点排序,从小到大扫描,记录斜率和截距。


E. permutation 1

solved by F0_0H 104min -3

题意 求差分序列第\(k\)大的排列

做法

  • k很小
  • 所以当\(n\)小于8时暴力,大于8时,前几项贪心确定,后几项暴力

F. string matching

solved by sdcgvhgj 14min

做法 抄一遍exkmp


G. permutation 2

solved by sdcgvhgj 40min

做法 f[i]=f[i-1]+f[i-3]


G. line symmetric

unsolved by sdcgvhgj -11

题意 判断一个简单多边形移动一个点之后能否变成一个轴对称的简单多边形

做法

  • n≤4输出YES
  • 枚举边的中垂线或角平分线做为对称轴,然后判是否合法
  • 判的时候只判了每个点是否对称,并没有判是否移动后会不能变成简单多边形
  • 当时想的是它两边一定有一边是不跨轴的,否则它本身就不合法,所以一定不需要判
  • 其实是可能两边都跨轴的,并且很好举例子,为什么当时就憨在那了。。
  • 当时看榜一片红,而且自己的做法怎么想怎么对,其实数据一点也没毛病而且很强。。完全是自己sb,值得反省

2019 Multi-University Training Contest 5的更多相关文章

  1. 2019 Nowcoder Multi-University Training Contest 4 E Explorer

    线段树分治. 把size看成时间,相当于时间 $l$ 加入这条边,时间 $r+1$ 删除这条边. 注意把左右端点的关系. #include <bits/stdc++.h> ; int X[ ...

  2. 2019 Nowcoder Multi-University Training Contest 1 H-XOR

    由于每个元素贡献是线性的,那么等价于求每个元素出现在多少个异或和为$0$的子集内.因为是任意元素可以去异或,那么自然想到线性基.先对整个集合A求一遍线性基,设为$R$,假设$R$中元素个数为$r$,那 ...

  3. 2019 Multi-University Training Contest 8

    2019 Multi-University Training Contest 8 C. Acesrc and Good Numbers 题意 \(f(d,n)\) 表示 1 到 n 中,d 出现的次数 ...

  4. 2019 Multi-University Training Contest 7

    2019 Multi-University Training Contest 7 A. A + B = C 题意 给出 \(a,b,c\) 解方程 \(a10^x+b10^y=c10^z\). tri ...

  5. 2019 Multi-University Training Contest 1

    2019 Multi-University Training Contest 1 A. Blank upsolved by F0_0H 题意 给序列染色,使得 \([l_i,r_i]\) 区间内恰出现 ...

  6. 2019 Multi-University Training Contest 2

    2019 Multi-University Training Contest 2 A. Another Chess Problem B. Beauty Of Unimodal Sequence 题意 ...

  7. HDU校赛 | 2019 Multi-University Training Contest 6

    2019 Multi-University Training Contest 6 http://acm.hdu.edu.cn/contests/contest_show.php?cid=853 100 ...

  8. HDU校赛 | 2019 Multi-University Training Contest 5

    2019 Multi-University Training Contest 5 http://acm.hdu.edu.cn/contests/contest_show.php?cid=852 100 ...

  9. HDU校赛 | 2019 Multi-University Training Contest 4

    2019 Multi-University Training Contest 4 http://acm.hdu.edu.cn/contests/contest_show.php?cid=851 100 ...

随机推荐

  1. 【MySQL】添加多个字段

    MySQL 遇到了添加多个字段的问题,尝试了几次,搞定了,记录下. 示例代码如下: alter table ad_data add ( exposure_count bigint(20) defaul ...

  2. git删除分支步骤

    在本地删除一个分支: git branch -D <本地分支> 在github远程端删除一个分支: git push origin :<远程端分支> 唯一不同的就是冒号代表了删 ...

  3. Python中的inf与nan

    Python中可以用如下方式表示正负无穷 >>> float('inf') # 正无穷,inf不区分大小写,float('InF')一样可以. inf >>> fl ...

  4. JavaSE(一)Java程序的三个基本规则-组织形式,编译运行,命名规则

    一.Java程序的组织形式       Java程序是一种纯粹的面向对象的程序设计语言,因此Java程序必须以类(class)的形式存在,类(class)是Java程序的最小程序单位.       J ...

  5. js 双向绑定数据

    let aaa = []; let bbb = [1,2,3]; let ccc = [0,9,8]; aaa = bbb; //此时aaa与bbb被绑定(aaa指向bbb的指向) ,若使用push则 ...

  6. 安装yarn实况

    [**前情提要**]最近在gayhub上面得到一个开源项目,遂准备研究一下源码,当然第一步就是要把项目运行起来.然后看了一下技术栈,发现包管理工具是使用yarn,以前也听说过yarn但是也没有具体使用 ...

  7. manifest.json 解析--手机web app开发笔记(三-2)

    四.SDK配置和模块权限配置 SDK 就是 Software Development Kit 的缩写,中文意思就是“软件开发工具包”,也就是辅助开发某一类软件的相关文档.范例和工具的集合都可以叫做“S ...

  8. CentOS yum 源修改

    修改 CentOS 默认 yum 源为 mirrors.163.com 首先备份系统自带yum源配置文件/etc/yum.repos.d/CentOS-Base.repo [root@localhos ...

  9. React Native-路由跳转

    搭建完RN开发环境后(搭建方式可查看https://www.cnblogs.com/luoyihao/p/11178377.html),要实现多个页面之间的跳转. 1.这时需要安装react-navi ...

  10. win7-BIOS中开启AHCI模式电脑蓝屏怎么办?

    win7-BIOS中开启AHCI模式电脑蓝屏怎么办? 来源:U大师 u盘装系统 不少网友都表示给电脑安装win7系统后,如果在BIOS中开启IDE模式就一切正常而为AHCI模式时就会出现蓝屏.其实那是 ...