2018.8.30 nowcoder oi赛制测试1

普及组难度,发现了一些问题

A

题目大意:求斐波那契数列\(f(k-1)f(k+1)-f(k)^2\),范围极大

打表可得规律

其实是卡西尼恒等式

\[\begin{eqnarray}f(k)f(k+2) - f(k+1)^2 &=&f(k)^2+f(k)f(k+1)-f(k-1)^2-2f(k-1)f(k)-f(k)^2\\ &=&f(k)^2+f(k-1)f(k)-f(k-1)^2-2f(k-1)f(k)\\ &=&f(k)^2-f(k-1)^2-f(k-1)f(k)\\ &=&f(k)^2-f(k-1)f(k+1)\\ &=&(-1)^{k+1} \end{eqnarray}
\]

B

翻译代码

C

暴力贪心,\(sum\%k=0\)时才可行,但是注意负数,要一直加下去直到满足。

D

树上直径,\(dfs\)两遍

E

最长不下降子序列,二分写错边界

F

题目大意:给出一个长度为 \(n\) 的序列,你需要计算出所有长度为\(k\) 的子序列中,除最大最小数之外所有数的乘积相乘的结果,答案对\(1e9+7\)取模。

答案与子序列的具体内容无关

排序后答案是\(\prod\limits_{i=2}^{n-1}a_i^{C\binom{k-1}{n-1}-C\binom{k-1}{i-1}-\binom{k-1}{n-i}}\)

指数要取模,因为模数是素数且\(a_i<P\)用欧拉定理即可

#include <iostream>
#include <cstdio>
#include <algorithm> typedef long long ll; const int N = 1005;
const int P = 1e9 + 7; int T, n, k;
long long a[N];
long long c[N][N];
long long ans = 1; inline void pre(){
c[0][0] = 1;
for(int i = 1; i <= 1000; ++i){
c[i][0] = 1;
for(int j = 1; j <= i; ++j){
c[i][j] = (c[i - 1][j] + c[i - 1][j - 1]) % (P - 1);
}
}
return ;
} inline ll q_pow(ll a, ll b){
ll w = 1;
while(b){
if(b & 1)
w = (a * w) % P;
b >>= 1;
a = (a * a) % P;
}
return w % P;
} int main(){
scanf("%d", &T);
pre();
while(T--){
scanf("%d %d", &n, &k);
for(int i = 1; i <= n; ++i){
scanf("%lld", &a[i]);
}
std::sort(a + 1, a + n + 1);
for(int i = 1; i <= n; ++i){
ans = 1LL * (ans % P * q_pow(a[i], ((c[n - 1][k - 1] - c[i - 1][k - 1] - c[n - i][k - 1]) % (P - 1) + P - 1) % (P - 1)) % P ) % P;
}
printf("%lld\n",ans);
ans = 1;
}
//都开longlong 防止爆炸
return 0;
}

Experience

  • 随机的数据可以试着打暴力
  • 二分记得多试几次
  • \(F\)类似的可以想一想组合数

2018.8.30 nowcoder oi赛制测试1的更多相关文章

  1. Nowcoder OI赛制测试2 F 假的数学题 - 斯特林公式 + 二分

    Description 给定$X$, 找到最小的$N$ 使得$N! > X^X$ 数据范围:  $x <= 1e11$ Solution $X^X$ 太大, 高精也存不过, 所以取对数 : ...

  2. 牛客OI赛制测试赛2(0906)

    牛客OI赛制测试赛2(0906) A :无序组数 题目描述 给出一个二元组(A,B) 求出无序二元组(a,b) 使得(a|A,b|B)的组数 无序意思就是(a,b)和(b,a) 算一组. 输入描述: ...

  3. 【牛客OI赛制测试赛3】 毒瘤xor

    牛客OI赛制测试赛3 毒瘤xor 传送门 题面,水表者自重 Solution 前缀和简单题(挖坑待补) 代码实现 #include<stdio.h> #define int long lo ...

  4. Nowcoder | [题解-N189]牛客OI赛制测试赛3

    这场说实话确实水(逃*1),表示差一点就AK了(逃*2),然而被卡两个特判的我\(ssfd\)...\(qwq\) 表示这是第一次发整场比赛的题解...还请各位大佬原谅我太蒻写的垃圾啊\(qwq\). ...

  5. 8.30 牛客OI赛制测试赛1 F题 子序列

    题目描述 给出一个长度为n的序列,你需要计算出所有长度为k的子序列中,除最大最小数之外所有数的乘积相乘的结果 输入描述: 第一行一个整数T,表示数据组数.对于每组数据,第一行两个整数N,k,含义如题所 ...

  6. 牛客OI赛制测试赛2

    A题: https://www.nowcoder.com/acm/contest/185/A 链接:https://www.nowcoder.com/acm/contest/185/A来源:牛客网 题 ...

  7. 牛客OI赛制测试赛3 解题报告

    前话: 话说考试描述:普及难度. 于是想在这场比赛上涨点信心. 考出来的结果:Point:480     Rank:40 然而同机房的最好成绩是 510. 没考好啊!有点炸心态,D题一些细节没有注意, ...

  8. C数列下标 牛客OI赛制测试赛2

    链接:https://www.nowcoder.com/acm/contest/185/C来源:牛客网 给出一个数列 A,求出一个数列B. 其中Bi   表示 数列A中 Ai 右边第一个比 Ai 大的 ...

  9. 牛客OI赛制测试赛2 D 星光晚餐

    链接:https://www.nowcoder.com/acm/contest/185/D来源:牛客网 题目描述 Johnson和Nancy要在星光下吃晚餐.这是一件很浪漫的事情. 为了增加星光晚餐那 ...

随机推荐

  1. Python——控制鼠标键盘

    一.安装包 pip install pynput 二.引用包 from pynput import mouse,keyboard 三.控制鼠标 from pynput.mouse import But ...

  2. Windows10电脑优化和使用

    本文将结合自身经验和短视频软件中的优化技巧,推荐一些Win10系统的优化和使用小技巧. 电脑优化 新电脑调出我的电脑等桌面图标: 右键桌面,选择个性化,左侧选择主题,在相关的设置中找到桌面图标设置,将 ...

  3. 如何在 macOS 上搭建 PHP 开发环境

    如何在 macOS 上搭建 PHP 开发环境 Linux, Nginx, MySQL, PHP $ php --version $ php -v # PHP 7.3.11 (cli) (built: ...

  4. JavaScript Array methods performance compare

    JavaScript Array methods performance compare JavaScript数组方法的性能对比 env $ node -v # v12.18.0 push vs un ...

  5. user tracker with ETag

    user tracker with ETag 用户追踪, without cookies clear cache bug 实现原理 HTTP cache hidden iframe 1px image ...

  6. auto open Chrome DevTools in the command line

    auto open Chrome DevTools in the command line --auto-open-devtools-for-tabs # macOS $ /Applications/ ...

  7. 微信公众号 bug

    微信公众号 bug web bug refs xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!

  8. Taro 物料市场

    Taro 物料市场 taro component demo https://taro-ext.jd.com/ https://taro-ext.jd.com/plugin/view/5caab6c68 ...

  9. react 异步的setState

    import React from "react"; class App extends React.Component { state = { a: 0 }; component ...

  10. app启动速度怎么提升?

    简介: APP 启动速度的重要性不言而喻.高德地图是一个有着上亿用户的超级 APP,本文从唤端技术.H5 启动页.下载速度.APP加载.线程调度和任务编排等方面,详解相关技术原理和实现方案,分享高德在 ...