[比赛|考试]nowcoder NOIP提高组组第二场
160/300pts,rank16(100,30,30)
在自身找毛病,首先做题感觉还不不够认真,比如T3那个我一开始审出来了,然后tmd忘了。。。gg。。。T1AC没啥好赞美的,T2T3暴力没拿全啊。。。
sjzez大佬ztb180pts太强了相比我这个连树剖都不会写的就是个菜狗啊
吐槽T1动态题面,除了T1动态题面,另外两道题都很吼哇(反正我做不出来的题都很吼)(不过感觉ranklist前几页都是T1AC的)
下面是题解
T1.方差
一个长度为\(m\)的序列\(b[1\cdots m]\),我们定义它的方差为\(\displaystyle \frac 1 m \sum_{i=1}^m(b_i-\bar b)\)其中 \(b\)表示序列的平均值。
可以证明的是,如果序列元素均为整数,那么方差乘以\(m^2\)之后,得到的值一定是整数。
现在有一个长度为\(N\)的序列\(a[1\cdots N]\),对每个\(i = 1\)~$ N$,你需要计算,如果我们删除 \(a[i]\),剩下的 \(N-1\) 个元素的方差乘以 \((N-1)^2\) 的值。
下面我们令\(\displaystyle s=\sum_{i=1}^mb_i\)
推推式子,对于序列b的方差乘以\(m^2\),即
\(\displaystyle m \sum_{i=1}^m(b_i-\bar b)\\\displaystyle=m\sum_{i=1}^mb_i^2-2m\sum_{i=1}^mb_i\bar b+m\sum_{i=1}^m\bar b^2\\\displaystyle=m\sum_{i=1}^mb_i^2-2m\bar b\sum_{i=1}^mb_i+m\bar b^2\sum_{i=1}^m1\\\displaystyle=m\sum_{i=1}^mb_i^2-2s\sum_{i=1}^mb_i+m^2\bar b^2\\\displaystyle=m\sum_{i=1}^mb_i^2-2s^2+s^2\\\displaystyle=m\sum_{i=1}^mb_i^2-s^2\)
所以我们只需要处理所有数的平方和,所有数的和就行了。注意精度问题(开long long就够了,请看下面代码的注释)
#include <bits/stdc++.h>
using namespace std;
int a[100010], sqra[100010], n;
long long tot, sqrtot;
int main()
{
scanf("%d", &n);
for (int i = 1; i <= n; i++)
{
scanf("%d", &a[i]);//1e4
sqra[i] = a[i] * a[i];//1e8
tot += a[i];//1e9
sqrtot += sqra[i];//1e13
}
for (int i = 1; i <= n; i++)
{
long long fuck1 = sqrtot - sqra[i];//1e13
long long fuck2 = tot - a[i];//1e9
printf("%lld%c", (n - 1) * fuck1 - fuck2 * fuck2, i == n ? '\n' : ' ');//1e18
}
return 0;
}
T2.分糖果
N 个小朋友围成一圈,你有无穷个糖果,想把其中一些分给他们。
从某个小朋友开始,我们顺时针给他们标号为 1 ~ N。第 i 个小朋友可以得到至多 a[i],至少 1 个糖果。
问,有多少种分配方案使得每一对相邻的小朋友拿到的糖果数不同。答案对 10^9 + 7 取模。
对全部的测试数据,n <= 10^6, a_i <= 10^9
- 10 分的数据,n <= 4
- 10 分的数据,n <= 100, a_i <= 20
- 20 分的数据,n <= 100, a_i <= 100
- 10 分的数据,n <= 10^5, a_i 全部相等
- 30 分的数据,n <= 10^5, a_i 为随机生成
- 20 分的数据,n <= 10^6.
我的预计是骗前50分,最后拿到30分(懒得去找哪里出锅了)。对于\(n\le100,a_i\le100\)的情况,可以直接暴力dp。\(a_i\)全部相等参见pj组T3,打递推or通项。
正解要搞搞rc原理什么的,反正我不透彻,不放代码了
T3.集合划分
visit_world 得到了 {1, 2, ... , n} 的 (2^n - 1) 个非空子集,他计划把这些集合分给小 S 和小 T,每个子集恰好给其中一个人。
分配规则是这样的:
\1. 若存在两个集合属于同一个人,那么这两个集合的并也要属于那个人
\2. 有 m 个集合是小 S 特别喜欢的,你要把这些集合全部给小 S
\3. 小 S 拿到了恰好 k 个集合。
请给出一种方案,或者说明无解。
有30分部分分是m=0的,我写了个假的贪心(太tm假了)当时我都没看出来,直到群里某人提醒。。。
这题特别难,全场1人AC。。。
m=0时候是一个二进制拆分构造什么的
m>0的时候反正各种xjb推不会
以后遇到这种题有两种思路一个是暴力一个是贪心
贪心不对我tm模拟退火,遗传啊
正解不想再透彻一遍了············
作为bruteforce选手,希望下一次tg组赛能拿稳了暴力分,Wannafly比赛好像就是让我掉rating的。。。不过计rating的好像除了tg就Wannafly了
[比赛|考试]nowcoder NOIP提高组组第二场的更多相关文章
- NOI.AC NOIP模拟赛 第二场 补记
NOI.AC NOIP模拟赛 第二场 补记 palindrome 题目大意: 同[CEOI2017]Palindromic Partitions string 同[TC11326]Impossible ...
- [比赛|考试]nowcoder NOIPpj组第二场
nowcoder NOIPpj组第二场 370pts/400pts(100,100,100,70) rank3 给自己的反思:前3题都A了,T4O(N^2)不会就是不会(没准是我懒得推了),DP了70 ...
- 牛客nowcoder Noip提高组第四场
https://www.nowcoder.com/acm/contest/175#question A-动态点分治 Description CJK 是一个喜欢数据结构的同学.一天他看到 BZOJ 40 ...
- [比赛|考试]nowcoder 小白月赛7
牛客小白月赛7 比赛地址.本次比赛我切了8道(ACM赛制),rank(20). 反思:刚入手ACM赛,光追求刺激了,没有总结ACM赛制的经验.是应该多提交>..还是少提交...小白赛还有两道不会 ...
- 牛客网提高组第二场---solution
T1 方差 根据题目要求将式子先写出来注意下面式子中的 $n$ 全部都是 $n-1$$$\begin{aligned}ans&=n^2\times \frac{1}{n}\times \sum ...
- 牛客网NOIP赛前集训营-普及组(第二场)和 牛客网NOIP赛前集训营-提高组(第二场)解题报告
目录 牛客网NOIP赛前集训营-普及组(第二场) A 你好诶加币 B 最后一次 C 选择颜色 D 合法括号序列 牛客网NOIP赛前集训营-提高组(第二场) A 方差 B 分糖果 C 集合划分 牛客网N ...
- 本周进步要点20161023(含李笑来第二场live笔记要点)
本周主要忙于去武汉参加iDOF2016智能数字油田会议,会上做了题为“油田SOA及云平台的系统思考与实践”的报告,为了准备这篇报告,用到了一些以前学过的知识,具体内容见“参加iDOF2016会议的收获 ...
- NOIP提高组2004 合并果子题解
NOIP提高组2004 合并果子题解 描述:在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆.多多决定把所有的果子合成一堆. 每一次合并,多多可以把两堆果子合并到一起,消 ...
- 2018牛客暑期ACM多校训练营第二场(有坑未填)
第二场终于等来学弟 开始(被队友带飞)的开心(被虐)多校之旅 A run A题是一个递推(dp?)+前缀和 因为看数据量比较大 就直接上前缀和了 一个比较简单的递推 没有太多难点 签到题 需要注意 ...
随机推荐
- .net core 环境安装
NET Core开发环境搭建 使用VS2015开发.NET Core项目,环境的搭建可以参考官网,大致安装步骤如下: 1.首先你得装个vs2015 并且保证已经升级至 update3及以上, 2.vs ...
- DDD学习笔录——简介领域驱动设计的实践与原则
DDD在存在许多DDD模式的同时,也有大量实践和指导原则,这些都是DDD思想体系成功的关键. 1.专注于核心领域 DDD强调的是在核心子域付出最多努力的需要.核心子域是你的产品会成功还是会失败的差异化 ...
- elastic(6) mget
转自:https://www.cnblogs.com/zhaijunming5/p/6424800.html GET /library/books/1 { "_index": &q ...
- Mysql Hive 通用的行列转换
就是简单的一个字符串拼接,意义和所用场景自己体会下 insert into table agent_library1 select concat_ws(':',collect_set(name)) a ...
- CSS布局奇淫巧计之-强大的负边距
css中的负边距(negative margin)是布局中的一个常用技巧,只要运用得合理常常会有意想不到的效果.很多特殊的css布局方法都依赖于负边距,所以掌握它的用法对于前端的同学来说,那是必须的. ...
- ArcGIS Field Type /esriFieldTypeDate(转)
ArcGIS Field Type The following table outlines the equivalent field data types in ArcCatalog, ArcO ...
- Codeforces 1107E (Vasya and Binary String) (记忆化,DP + DP)
题意:给你一个长度为n的01串,和一个数组a,你可以每次选择消除一段数字相同的01串,假设消除的长度为len,那么收益为a[len],问最大的收益是多少? 思路:前两天刚做了POJ 1390,和此题很 ...
- C++面向对象类的实例题目十
题目描述: 编写一个程序,其中有一个汽车类vehicle,它具有一个需要传递参数的构造函数,类中的数据成员:车轮个数wheels和车重weight放在保护段中:小车类car是它的私有派生类,其中包含载 ...
- SpringBoot09 自定义servlet、注册自定义的servlet、过滤器、监听器、拦截器、切面、webmvcconfigureradapter过时问题
1 servlet简介 servlet是一种用于开发动态web资源的技术 参考博客:servlet基础知识 httpservlet详解 2 在springboot应用中添加servlet sp ...
- 批处理基本知识以及进阶 V2.0
批处理基本知识以及进阶 将以要执行的程序指令 , 像在 dos 模式下一下写入记事本 , 保存成 bat 文件 , 就可以执行了 一 . 简单批处理内部命令简介 1.Echo 命令 打开回显或关闭请求 ...