T1 数列(sequence)

比赛时

我自以为是地打了简简单单一个判断~~~

之后

Waiting……

T2 2753. 树(tree)

比赛时

这题我居然比赛时也想了很久,可能是因为我太懒,我很早意识到lca的思想可以做,但是我还是想有什么办法更简单,如一个玄学的DFS、诡异的树形DP(显然时间会炸),浪费了我很多时间,最终我没有想到。我就来讲讲lca的做法吧,由于路径中节点的深度必须是升序的,可以知道一条路径,它的起点必定是终点的祖先,符合lca。\(n \leq 100000\),那么枚举终点,设两个数组:\(fa[i][j]\)表示编号为i的节点向上跳\(2^j\)次的节点,\(a[i][j]\)表示编号为i的节点向上跳\(2^j\)次途中遇到的节点价值总和。原汁原味的lca判断的是深度,这里改一改就可以了,设变量\(sum=b[x]\)(x表示终点),每次向上跳时判断\(sum+a[x][j] < s\),跳的时候加一下就可以了。时间复杂度为\(O(20n)\),显然这个20非常小,可以不写。

之后

有同学用了暴力居然都过了,这卡常居然能过,不公平呀,数据也太水了吧。

总结

不能太懒,想到一个AC的方法,如果在短时间内没有想到更简单的方法,则打。

T3 2754. 【2012东莞市选】时间流逝(flow)

比赛时

一看到概率,我就几乎想放弃,我不知道因为概率的存在期望天数怎么算(但其实很简单,我太蒟了~~)

之后

没有之后~~~没几个人做对,听不懂。

T4 3858. 挖掘机技术哪家强 shoberu

题目描述

给出n,求出n的每个因数x的难挖指数的和,难挖指数是所有与x互质的数y的和(包括1,\(1 \leq y \leq x\))

比赛时

一看到这是偏数学题,就泄了气。n太大了,1000000000,而且多组数据,1000组。我就想,可以枚举x,时间复杂度约为\(O(3000)\),那么处理x的难挖指数的时间复杂度最多用\(O(10)\),没有想到高效求的方法。想来想去,并没有想到什么规律。放弃~

之后

正解:欧拉函数,可惜我还没学。欧拉函数可以求出对于一个x,y有多少个,和本题题意极其相似。我们发现:对于一个x,y总是成对出现(证明是显然的,若 p 与 x 互质,那么p 与 x-p 也互质。我们把 p 与 x-p 结成一对),且一对和为x;如\(x=14\),y有\(1,3,5,9,11,13\),每组和都\(=x\)。于是我们可以用欧拉函数求出x的y有多少个,就可以求出难挖指数是多少,一个x时间复杂度为\(O(\log n)\),常数级别,那么整个的时间复杂度为\(O(t \sqrt{n})\),完全可以过,注意有特殊情况:x=1,x=2。

#include<cstdio>
int t,n;
long long ans;
inline int euler(int x){
int ans=x;
for(int i=2;i*i<=x;i++){
if(x%i==0) ans-=ans/i;
while(x%i==0) x/=i;
}
if(x>1) ans-=ans/x;
return ans;
}
inline long long func(int x){
if(x==1||x==2){
return 1;
}else{
int g=euler(x);
return (long long)g*x/2;
}
}
int main(){
scanf("%d",&t);
for(int l=0;l<t;l++){
scanf("%d",&n);
ans=0;
for(int i=1;i*i<=n;i++)
if(n%i==0){
ans+=func(i);
if(n/i!=i) ans+=func(n/i);
}
printf("%lld\n",ans);
}
return 0;
}

2020.02.01【NOIP提高组】模拟B 组总结反思——数列(sequence) 树 【2012东莞市选】时间流逝 挖掘机技术哪家强的更多相关文章

  1. JZOJ 5185. 【NOIP2017提高组模拟6.30】tty's sequence

    5185. [NOIP2017提高组模拟6.30]tty's sequence (Standard IO) Time Limits: 1000 ms  Memory Limits: 262144 KB ...

  2. 【纪中集训】2019.08.02【NOIP提高组】模拟 A 组TJ

    \(\newcommand{\RNum}[1]{\uppercase\expandafter{\romannumeral #1\relax}}\) T1 一道可以暴力撵标算的题-- Descripti ...

  3. 【洛谷】NOIP提高组模拟赛Day2【动态开节点/树状数组】【双头链表模拟】

    U41571 Agent2 题目背景 炎炎夏日还没有过去,Agent们没有一个想出去外面搞事情的.每当ENLIGHTENED总部组织活动时,人人都说有空,结果到了活动日,却一个接着一个咕咕咕了.只有不 ...

  4. JZOJ5857 【NOIP提高组模拟A组2018.9.8】没有上司的舞会

    题目 Description "那么真的有果尔德施坦因这样一个人?"他问道. "是啊,有这样一个人,他还活着.至于在哪里,我就不知道了." "那么那个 ...

  5. [jzoj 5770]【2018提高组模拟A组8.6】可爱精灵宝贝 (区间dp)

    传送门 Description Branimirko是一个对可爱精灵宝贝十分痴迷的玩家.最近,他闲得没事组织了一场捉精灵的游戏.游戏在一条街道上举行,街道上一侧有一排房子,从左到右房子标号由1到n. ...

  6. [JZOJ5185] 【NOIP2017提高组模拟6.30】tty's sequence

    Description

  7. 2020牛客NOIP赛前集训营-普及组(第二场)A-面试

    面 试 面试 面试 题目描述 牛牛内推了好多人去牛客网参加面试,面试总共分四轮,每轮的面试官都会对面试者的发挥进行评分.评分有 A B C D 四种.如果面试者在四轮中有一次发挥被评为 D,或者两次发 ...

  8. 2020牛客NOIP赛前集训营-普及组(第二场) 题解

    目录 T1 面试 描述 题目描述 输入描述: 输出描述: 题解 代码 T2 纸牌游戏 描述 题目描述 输入描述: 输出描述: 题解 代码 T3 涨薪 描述 题目描述 输入描述: 输出描述: 题解 代码 ...

  9. NOIP第二次模拟赛 stage1【划分数列(seq.pas/c/cpp)

    7划分数列(seq.pas/c/cpp) [题目描述] 给你一个有n个元素的数列,要求把它划分成k段,使每段元素和的最大值最小 [输入格式] 第一行两个正整数n,k 第二行为此数列ai [输出格式] ...

随机推荐

  1. Codeforces 1011C Fly(二分+模拟)

    题意: 是有n个星球,1代表地球,然后输入一个m表示火箭的重量,然后输入了两组n个数,第一组表示在每个星球起飞时消耗一吨燃料的质量数,a[i]就表示每a[i]吨就要消耗1吨燃料,第二组就表示在每个星球 ...

  2. React+wangeditor+node富文本处理带图片上传

    最近有个需求出现在我的视野中,因为我的另外的博客需要上传文章,但是我不想每次都在我的数据库中慢慢的修改格式,所以我另做了一个后台去编辑文本后发送给服务器,那么这里就涉及到两点,一个是富文本,一个是需要 ...

  3. angularJS 传参的四种方法

    AngularJS - Passing data between pages 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:Ye Huang链接:https://www.z ...

  4. 【python爬虫】windoes的爬虫中文乱码现象,通用转码解决

    page = session.get(url="https://www.qidian.com/") page.encoding = page.apparent_encoding p ...

  5. javascript 浅复制 和 深复制

    如何区分深拷贝与浅拷贝,简单点来说,就是假设 B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝, 如果B没变,那就是深拷贝 实现思路 1 json 深度拷贝 2 遍历递归 ...

  6. 《算法导论》第二章demo代码实现(Java版)

    <算法导论>第二章demo代码实现(Java版) 前言 表示晚上心里有些不宁静,所以就写一篇博客,来缓缓.囧 拜读<算法导论>这样的神作,当然要做一些练习啦.除了练习题与思考题 ...

  7. 3803 register initialization

    wim寄存器 window invalid mask,窗口无效屏蔽寄存器,如果某bit为1,则表示该窗口无效,不能使用. 初始化,设置%psr.CWP=0,即当前使用win0:设置wim=2,即只有w ...

  8. Axer-使用Msfvenom自动创建有效负载的工具

    Axer-使用Msfvenom自动创建有效负载的工具 该axer将替换为有效的手动操作msfvenom,设置更容易和快了很多. AXER可以让您选择平台,格式,编码器,与另一个文件绑定以及许多其他功能 ...

  9. mybatis缓存,包含一级缓存与二级缓存,包括ehcache二级缓存

    一,引言 首先我们要明白一点,缓存所做的一切都是为了提高性能.明白了这一点下面我们开始进入正题. 二,mybatis缓存概要 ①.mybatis的缓存有两种,分别是一级缓存和二级缓存.两者都属于查询缓 ...

  10. webpack性能优化

    Webpack优化打包速度以及性能优化 1.跟上技术的迭代(Node.Npm.Yarn) 2.在尽可能少的模块上应用loader 3.Plugin尽可能精简并确保可靠 4.resolve参数合理配置 ...