Uoj 73 未来程序】的更多相关文章

Uoj 73 未来程序 神仙提答. Subtask 1 仔细阅读,发现是要计算 \(a*b\ \%\ c\).用龟速乘或者 \(python\) 直接算. Subtask 2 仔细阅读并手算一下,发现是每次令 \(a_{i+1}=a_i+2b_i+c_i,\ b_{i+1}=a_i+b_i,\ c_{i+1}=a_{i}\) ,重复 \(n\) 次. 写一个矩阵快速幂来加速递推即可. Subtask 3 仔细阅读,发现是要计算 \(\sum_{i=0}^n i^k,k=0,1,2,3,4\) .…
在 2047 年,第 64 届全国青少年信息学奥林匹克冬令营前夕,B君找到了 2015 年,第 32 届冬令营的题目来练习. 他打开了第三题 “未来程序” 这道题目: 本题是一道提交答案题,一共 10 个测试点. 对于每个测试点,你会得到一段程序的源代码和这段程序的输入.你要运行这个程序,并保存这个程序的输出. 遗憾的是这些程序都效率极其地下,无法在比赛的 5 个小时内得到输出. B君想了一下,决定用 2047 年的计算机来试着运行这个题目,他找到了 2015 年的编译器,并很快得到了结果………
话说有这样一道神题:[集训队互测2015]未来程序·改. 大意是要求写一个简单的C++解释器!这里去掉了C++的许多特性,连简单的break和continue都没有了! 话说NOI被屠了之后,一时心血来潮,打算A了这道题.最近的一个星期闲着无聊(其实还是很多事要做),在历经险阻之后,终于A掉这道丧心病狂的OI题. 虽然我没有看过任何关于解释器的理论,但我觉得好像还是可以凭自己乱搞出来的,于是便开始了这长达一周的旅程.估计写了4h的代码,调试2h. 听说可以用语言分析树这样高大的东西来做,我看到其…
原文链接www.cnblogs.com/zhouzhendong/p/UOJ73.html 前言 纯属理性愉悦. 题解 Subtask1 发现就是求 $a \times b \mod c $ . 写个快速乘就好了. Subtask2 直接打开的话会发现 gedit 卡死了. 用 Subline Text 开开看了看好像没什么特别的. 看看这份代码的长度,怎么这么大? 仔细看会发现下面有一行注释起来的英文,不知道干什么的.先记着. 这一个子任务显然是个线性递推.大力矩阵快速幂即可. Subtask…
暴力模拟A了,数据还是良(shui)心(shui)的 90分的地方卡了半天最后发现一个局部变量被我手抖写到全局去了,,, 心碎*∞ 没什么好解释的,其实只要写完表达式求值(带函数和变量的),然后处理一下高维数组 给变量和函数各开一个map(事实上我给每一层都开了一个变量的map,每次都复制一下,但还是没有T也没有M) 终于写完了 记得有人立了个flag说我联赛前调不完这道题,终于拆了 #include <bits/stdc++.h> #define st(now) ((isvar[now])?…
题目描述:给出输入和暴力程序,求输出.共10个测试点. 测试点1: 输入\(a,b,c\),求\(a\times b \ \mathrm{mod} \ c\) \(a,b,c\)属于long long范围. 使用龟速乘或者快速乘. #include<bits/stdc++.h> #define Rint register int using namespace std; typedef long long LL; LL a, b, mod; inline void upd(LL &a,…
只需写一个解释器 第一次预处理将输入进行分词,分割出 关键字,运算符,变量/函数名,整数常量,并对变量/函数名离散化以便处理 第二次预处理建语法树,每个节点存节点类型,变量定义表等信息 运行时在语法树上递归处理,维护一个栈存运行中用到的变量 #include<cstdio> #include<map> #include<string> #include<vector> #include<cstring> using namespace std;…
点此看题面 大致题意: 把\(10\)个点的暴力代码和输入数据都给你,让你求出输出数据. 子任务\(1\) 第一个子任务自然是拿来送分用的... 容易发现就是一个快速乘的过程啊. 代码如下: #include<bits/stdc++.h> #define Tp template<typename Ty> #define Ts template<typename Ty,typename... Ar> #define Reg register #define RI Reg…
sub1:ans=a*b%c,龟速乘即可. #include <stdio.h> #include <stdlib.h> unsigned long long a, b, c, d; unsigned long long mul(unsigned long long a,unsigned long long b) { unsigned ; while(b) { )x=(x+a)%c; b>>=,a=(a+a)%c; } return x; } void _() { sc…
今天早上,张小龙在微信公开课上分享了小程序的理念,并且公布了小程序将于1月9日上线. 为了体现张小龙对未来程序形态的理解,小程序有四个特定:无需安装.触手可及.用完即走.无需卸载.今天,36氪刚好有机会体验了一下携程.36氪和"小程序示例"三枚小程序,在这里跟大家分享一下. 我氪的小程序先保密,至于"小程序示例",则是微信制作的一个展示性质的小程序,给开发者们介绍小程序目前有什么组件和接口.跟张小龙说的一样,用户需要通过在微信里扫二维码进入小程序:扫码之后,就会直接…