2019中国大学生程序设计竞赛(CCPC)

摘要:
在区间([1,j)=1]mod(10^9+7)end{eqnarray*}],b)和(gcd(a;m)}-b^{gcd(n,sumlimits_{i=1}nsumlimits_{j=1}^i(i-j)[gcd(i;j)=1]mod(10 ^9+7)&amp,sumlimts_{i=1}insumlimits_1}^ii[gcd(i;

目录

Contest Info


[Practice Link](https://cn.vjudge.net/contest/321878#overview)
SolvedABCDEFGHIJK
8/11OOOOOOOO---
  • O 在比赛中通过
  • Ø 赛后通过
  • ! 尝试了但是失败了
  • - 没有尝试

Solutions


A - ^&^

题意:
要求找一个最小的正整数(C)使得((A oplus C) & (B oplus C))这个式子最小。

思路:
注意是(C)是正整数。

B - array

题意:
有一个排列(a_i),有两种操作:

  • (a_x)变成(a_x + 10^7)
  • 询问没有在区间([1, r])里面出现过并且(geq k)的最小的数

思路:

  • 权值线段树维护(i)出现的下标
  • 那么只需要找一个最小的(x),使得([k, x])这段数出现的下标的最大值(>r)即可。
  • 权值线段树上二分即可,复杂度有点玄学。。

C - K-th occurrence

题意:
给定一个字符串(S),询问一个子串(S[l, r])在原串中第(k)次出现的起始位置

思路:
考虑一个起始位置(i)出现了(S[l, r]),那么有后缀(S_i)以及后缀(S_l)(lcp)肯定大于等于(r - l + 1)
那么后缀排序之后,这些起始位置在(Rank[])数组中是连续的一段,二分找到左右界,主席树查询区间第(k)大即可。

D - path

题意:

E - huntian oy

题意:
计算:

[egin{eqnarray*} f(n,a,b)=sumlimits_{i=1}^n sumlimits_{j=1}^i gcd(i^a-j^a,i^b-j^b)[gcd(i,j)=1] mod (10^9+7) end{eqnarray*} ]

思路:
(a > b)(gcd(a, b) = 1)时,有(gcd(a^n - b^n, a^m - b^m) = a^{gcd(n, m)} - b^{gcd(n, m)})
那么原式为:

[egin{eqnarray*} f(n, a, b) &=& sumlimits_{i = 1}^n sumlimits_{j = 1}^i (i - j)[gcd(i, j) = 1] mod (10^9 + 7) \ &=& sumlimits_{i = 1}^n sumlimits_{j = 1}^i i[gcd(i, j) = 1] -j[gcd(i, j) = 1] \ &=& sumlimits_{i = 1}^n ivarphi(i) - frac{ivarphi(i) - [n = 1]}{2} \ &=& frac{sumlimits_{i = 1}^n ivarphi(i) - 1}{2} end{eqnarray*} ]

(f(n) = ivarphi(i)),配一个(g = id(n)),有((f * g)(n) = sumlimits_{i ;|; n} i varphi(i) frac{n}{i} = i sumlimits_{d ;|; i} varphi(i) = i^2)
杜教筛即可。

F - Shuffle Card

签到。

G - Windows Of CCPC

签到。

H - Fishing Master

免责声明:文章转载自《2019中国大学生程序设计竞赛(CCPC)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Oracle 11g服务器安装详细步骤什么是Solon?下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

HTML5--》点击显示隐藏内容

<details>浏览器支持比较差,可以用JavaScript实现这种功能。 1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>js点击显示隐藏内容</title> 6 &...

Vue vue-resource 请求数据

<template> <!-- 所有的内容要被根节点包含起来 --> <div id="home"> 首页组件 <button @click="getData()">请求数据</button> <hr&g...

原装js轮播图,鼠标移入停止轮播,移出继续轮播

要求:1、点击按钮,切换图片;    2、图片能够自动轮播;       3、鼠标移入,轮播停止;移出继续轮播; 知识点:1、定时器:setInterval();     2、鼠标移入事件:onmouseenter/onmouseover;       鼠标移出事件:onmouseleave/onmouseout; 难点:假设轮播图轮播到第二张图片,此时点...

instanceof 和 isInstance 强转 类型 class [MD]

博文地址 我的GitHub 我的博客 我的微信 我的邮箱 baiqiantao baiqiantao bqt20094 baiqiantao@sina.com 目录 目录 目录 简介 测试 继承关系 测试案例 基本测试 测试多态 测试null 测试数组 测试集合 测试基本类型 打印结果 简介 区别: instance...

Word 中设置图、表、公式、代码要与正文之间行间距

一、概述 在撰写论文等文档时,常常对图、表、公式、代码要与正文之间行间距有要求。例如: (5)图、表、公式、代码要与正文之间有6磅的行间距。 二、设置方式 选中 图/表/公式/代码 与 图题/表头/-/- ,点击鼠标右键->段落->间距->段前/段后。 如下图: 效果如下图: 此文在我的 Github Pages 上同步发布,地址为:{...

Bootstrap Dual Listbox动态数据实现

效果图如下:  一:需要依赖的文件 <link rel="stylesheet" href="assets/css/bootstrap.min.css" /> <link rel="stylesheet" href="assets/css/bootstrap-duallistbox.min.css" /> <script s...