Subtask0

造计算机神题。给一个忠告:珍爱生命,远离旷野大计算......
代码在这里戳我

Subtask1

给定\(a,b\);求\(-2a-2b\)。

熟悉操作环境:\([-(a+b)]<<1\),共\(6\)次操作。

Subtask2

给定\(a\);求\(\frac{1}{1+e^{17a}}\)。

熟悉关键函数及操作:\(s(-((a<<4)+a))\),共\(6\)次操作。

Subtask3

给定\(a\),求\(fu(a)\),其中\(fu(a) = \{-1,0,1\}\)。

可以发现\(s(x)\)在\(x\to \infty\)时\(\to 1\),在\(x\to -\infty\)时\(\to 0\)。
所以通过放缩就能够实现正、\(0\)、负数的区分了,即\([s(a<<500)-0.5]<<1\),共\(6\)次操作。

Subtask4

给定\(a\);求\(|a|\)。

最为关键的一档部分分。
首先\(s'(x)=\frac{e^{-x}}{(1+e^{-x})^2}\),\(s'(0)=\frac{1}{4}\),所以当\(x\to 0\),则\(s(x)\to \frac{x}{4}+\frac{1}{2}\)。
所以考虑用\(x\to 0\)时的\(s(x)\)构造我们需要的值。
考虑\(INFs(INFx)=[\{INF,x>0\},\{0,x<0\}]\)。
那么\(s(\frac{x}{INF}+INFs(INFx))=[\{1,x>0\},\{\frac{x}{4INF}+\frac{1}{2},x<0\}]\),然后对着构造即可。
至于\(0\)的尴尬处境,通过加\(eps\)解决,令\(b=a+eps\)。
操作为:\(-8INF([s(\frac{b}{INF}+4INFs(INFb))]-\frac{1}{2})+b+4INFs(INFb)\),共\(14\)次操作。
这个\(Subtask\)的构造思想之后要反复用到。

Subtask5

给定二进制数\(a\),把它翻译为十进制数。

开始写\(for\):对后\(31\)位模拟即可(第\(32\)位直接取),共\(95\)次操作。

Subtask6

给定十进制数\(a\),把它翻译为二进制数。

核心思想:从高位到低位,把当前数\(-2^t\),若\(\ge 0\)则为\(1\),否则为\(0\)。
与\(Subtask3\)蜜汁相像啊。先写出一个大概:\(s((x-2^t+eps)<<500)>>500\)。
然后来卡常,不难发现每次都左移十分浪费,所以预先左移一次即可。
再者第\(0\)位貌似不需要该操作,直接取当前结果即可,通过卡常共\(190\)次操作。

Subtask7

给定两个数\(a,b\);求\(a\ xor\ b\)。

先转为二进制数操作,最后再转回十进制,那么只需要考虑某一位的答案。
考虑支持函数:\(f(x=\{0,1,2\})=[\{0,x=0,2\}\{1,x=1\}]\),然后用\(f(x)\)求答案即可。
不难想到\(f(x)=x-s((x-1.5)<<500)<<1\)。一共\(603\)次操作。

Subtask8

给定\(a\);求\(\frac{a}{10}\)。

考虑求\(s'(x_0)=\frac{1}{10}\),然后当\(x\to x_0\),\(s(x)=s(x_0)+\frac{1}{10}(x-x_0)\)。
手解可得:\(x_0=-ln(\frac{3+\sqrt{5}}{2})\),先各凭本事把\(x_0\)和\(s(x_0)\)的高精小数搞出来再说。
然后就比较简单了,\(s(\frac{x}{INF}+x_0)=s(x_0)+\frac{x}{10INF}\)。
所以操作为:\([s(x>>500+x_0)-s(x_0)]<<500\),共\(7\)次操作。

Subtask9

给定\(a_{1,2...,32}\);把\(a\)数组排好序后输出来。

冒泡排序,每次操作:\(t=a_i+a_{i+1},a_{i+1}=a_i+max(0,a_i-a_{i+1}),a_i=t-a_{i+1}\)。
唯一的问题在于实现\(f(t)=max(0,t)\),应该已经轻车熟路了吧。
一种可行构造:\(f(t)=x-4INF(s(\frac{t}{INF}+2INFs(INFt))-\frac{1}{2})+2INFs(INFt)\)。
共\(2192\)次操作。

Subtask10

给定\(a,b,c\);实现\(a\times b \% c\)。

分两步,先算\(a\times b=t\),再算\(t\% c\)。
第一步龟速乘,先把\(b\)转化为二进制数,设第\(i\)位为\(b_i\)。
我们需要一个函数\(f(x,t=\{0,1\})=[\{0,t=0\},\{x,t=1\}]\),做出\(f(x,t)\)事情就简单了。
注意到\(s(-\infty)\to 0\),所以\(f(x,t)\)大概形式为\(s(x+INF(t-1))\),但这样得不到\(x\)的值。
再次利用\(Sub4\)、\(Sub8\)的那种方法即可。
最终设计出来\(f(x,t)=2INF(-t+s(\frac{x}{INF}+INF(t-1))<<1)\)。
然后来实现取模,核心思想类似\(Sub6\),需要函数\(g(x)=[\{1,x\ge 0\},\{0,x<0\}]\)。
由于\(x\)是整数域\(Z\)下的,所以这个就比较简单了,\(g(x)=s(INF(x+0.5))\)。一共\(1493\)步。

[NOI2016]旷野大计算的更多相关文章

  1. UOJ224 NOI2016 旷野大计算 构造、造计算机

    传送门——UOJ 传送门——Luogu 这段时间请不要找Itst聊天,Itst已经做疯了 事实证明大模拟题不可做 query 1 送分,加起来一起乘即可 I I + < - O query 2 ...

  2. [JZOJ4763] 【NOIP2016提高A组模拟9.7】旷野大计算

    题目 题目大意 给你一个数列,有很多个询问,询问一段区间内,某个数乘它的出现次数的最大值,也就是带权众数. 思考历程 第一次看到这道题,立马想到了树套树之类的二位数据结构,发现不行.(就算可以也很难打 ...

  3. noi2016旷野大作战

    玩了差不多两个小时61分 大概第9个点可以再拿5-6分 但是挺麻烦的并不想搞.. 这道题还是比较考验智商的??以及对那个特殊的ln函数的应用 感觉题目出的挺好的 看了题解 发现第4个点的确我应该想不到 ...

  4. 【JZOJ4763】【NOIP2016提高A组模拟9.7】旷野大计算

    题目描述 输入 输出 样例输入 5 5 9 8 7 8 9 1 2 3 4 4 4 1 4 2 4 样例输出 9 8 8 16 16 数据范围 解法 离线莫队做法 考虑使用莫队,但由于在删数的时候难以 ...

  5. [luogu1737]旷野大计算

  6. Microsoft Azure 大计算 – 宣布收购 GreenButton

     数据以及令人不可思议的计算能力,正在改变我们日常业务的经营方式,从科学和工程到媒体和金融,各行各业的客户正逐渐意识到什么是可能的.我们对整个基因组进行分析,以研制新药物.我们构建金融和保险模型, ...

  7. sql server 大数据, 统计分组查询,数据量比较大计算每秒钟执行数据执行次数

    -- 数据量比较大的情况,统计十分钟内每秒钟执行次数 ); -- 开始时间 ); -- 结束时间 declare @num int; -- 结束时间 set @begintime = '2019-08 ...

  8. NOI2010~NOI2018选做

    [NOI2010] [NOI2010]海拔 高度只需要0/1,所以一个合法方案就是一个割,平面图求最小割. [NOI2010]航空管制 反序拓扑排序,每次取出第一类限制最大的放置,这样做答案不会更劣. ...

  9. NOI2016 高中OI生涯的最后一站

    你乘坐的航班XXX已经抵达终点站——四川绵阳. “呼——”机舱外的天空灰沉沉的,不禁有些压抑与紧张. 一出机场,就看见南山中学的牌子,黄色衣服的志愿者们,还有热情的老师们. 感觉刚才的情绪又一扫而空了 ...

随机推荐

  1. 用编程方式编写Babylon格式的宇宙飞船3D模型

    使用上一篇文章(https://www.cnblogs.com/ljzc002/p/9353101.html)中提出的方法,编写一个简单的宇宙飞船3D模型,在这篇文章中对模型制作流程和数学计算步骤进行 ...

  2. 详细介绍svn在eclipse中的使用(附图解说明)

    SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制服务已从CVS迁移到Subversion ...

  3. iFIERO - (一) 宇宙大战 SPACE BATTLE — 场景SCENE、SpriteKit精灵、PARTICLE粒子及背景音乐

    开始游戏教程前,首先介绍一下SpriteKit是什么?SpriteKit提供了一个图形渲染和动画的基础结构,你可以使用它让任意类型的纹理图片或者精灵动起来.SpriteKit使用渲染循环,利用图形硬件 ...

  4. 算法工程师进化-SQL

    1 引言 SQL操作往往是程序员必备的技能,对于算法工程师而言,熟练掌握SQL操作则更为重要.本文以<SQL语句执行顺序>作为学习资料,总结SQL的理论部分. 2 SQL查询语句的执行顺序 ...

  5. Python处理PDF和Word文档常用的方法(二)

    Python处理word时,需要安装和导入python-docx模块. 安装命令:pip install python-docx 导入命令:import docx 编码编写顺序:用docx.Docum ...

  6. 为centos虚拟机配置固定ip

    在virtual上安装centos虚拟机以后,发现虚拟机没有ip,无法联网 将虚拟机的网络适配器改为桥接模式,桥接到物理机的无线网卡 为虚拟机配置固定IP(vi /etc/sysconfig/netw ...

  7. 第十四次ScrumMeeting博客

    第十四次ScrumMeeting博客 本次会议于12月3日(日)22时整在3公寓725房间召开,持续30分钟. 与会人员:刘畅.辛德泰.张安澜.方科栋. 1. 每个人的工作(有Issue的内容和链接) ...

  8. Python基础_内置函数

        Built-in Functions     abs() delattr() hash() memoryview() set() all() dict() help() min() setat ...

  9. 使用sass与compass合并雪碧图(一)

    雪碧图就是很多张小图片合并成一张大图片,以减少HTTP请求,从而提升加载速度.有很多软件可以合并雪碧图,但通常不太容易维护,使用compass生成雪碧图应该算是非常方便的方法了,可以轻松的生成雪碧图, ...

  10. 第28次Scrum会议(11/16)【欢迎来怼】

    一.小组信息 队名:欢迎来怼小组成员队长:田继平成员:李圆圆,葛美义,王伟东,姜珊,邵朔,阚博文小组照片 二.开会信息 时间:2017/11/16 17:20~17:42,总计22min.地点:东北师 ...