EZ 2018 03 09 NOIP2018 模拟赛(三)
最近挺久没写比赛类的blog了
链接:http://211.140.156.254:2333/contest/59
这次的题目主要考验的是爆搜+打表的能力
其实如果你上来就把所有题目都看过一次就可以知道:正确的顺序是3->1->2
先切T3的意思是你可以很快的爆搜之后开始打表,但T2考思维,T1考语文,这就导致大量的出现前两题A了但最后一题打表时间不够了的情况。
虽然我T2才打表弄了20,但凭借的最后一题的42分表(还忘记把大样例的的两个抄进去了),还是涨了rating。
祝贺CJJ涨了1百多分
T1 重点是理解题意,一定要当一个人跑到最前面的时候下一个人才开始跑。
然后就是一顿乱推了,先把阶乘去掉再n^2枚举,得到u*n/(c[i]-d[i]*(j-1)-v)/n(i=1-n;j=1-n)
然后可以发现两个n可以消去:u/(c[i]-d[i]*(j-1)-v)(i=1-n;j=1-n)
CODE
#include<cstdio>
using namespace std;
typedef double DB;
const int N=;
int n,i,j;
DB v,u,c[N],d[N],ans;
int main()
{
scanf("%d%lf%lf",&n,&v,&u);
for (i=;i<=n;++i)
scanf("%lf",&c[i]);
for (i=;i<=n;++i)
scanf("%lf",&d[i]);
for (i=;i<=n;++i)
for (j=;j<=n;++j)
ans+=u/(c[i]-d[i]*(j-)-v);
printf("%.3lf",ans);
return ;
}
T2 朴素的全排列验证为O((n^2)!),显然会飞妈(但可以打表出1-4)
仔细观察,因为它们都是01串,就很容易让人想到二进制。
因此所有的串都可以压缩成0-2^n-1之间的数
我们可以用vis[]数组表示这个串(压成数之后)是否被使用,可以发现:
比如一个串010,二进制下记为2,能接在它后面的串为100或101,对应二进制下的4或5
稍微想一下就知道一个串压成数(x)后可以接在它后面的数为x<<1或x<<1|1
也很好理解,整体左移一位后最后一位可能是1或0,就两种情况。
因此我们可以先选0,然后往后找(优先拿1),因为一定有解,因此可以保证正确性。
CODE
#include<cstdio>
using namespace std;
const long long N=(<<)+;
bool vis[N];
long long n,len,i,k;
int main()
{
scanf("%d",&n); len=<<n; vis[]=;
for (i=;i<=n;++i)
putchar('');
for (i=n+;i<=len;++i)
{
k=(k<<)%len;
if (!vis[k+]) vis[++k]=,putchar(''); else vis[k]=,putchar('');
}
return ;
}
T3 难度有一些,没有dalao现场切掉,yu‘ben’ao打表拿了58分(真恐怖)
看一下Manchery的正解
首先要知道约数个数的公式
然后这个题就是把 n!n! 分解质因数 然后把每个质因数的指数分配给A,BA,B,使得他们的指数+1的积相等
这个正如LJN想的一样是可以折半的,但是他跑了20分钟,std却只要400ms,说明这个搜索是很细致的
关键就在于折半的时候怎么分两半
比如现在有 kk 个质因子 ∏kpaii∏kpiai
那么比较直观的是直接枚举在哪mm分开,使得 max{∏m1ai+1,∏km+1ai+1}max{∏1mai+1,∏m+1kai+1} 最小
但这还不是最优的,因为这些质因子最后一段必然都是只出现一次的,这些只会对乘积相等造成×2×2的影响,我们可以在折半之后枚举他
假设有rr个指数是11,那么我们要找的是 max{(∏m1ai+1)×r,∏k−rm+1ai+1}max{(∏1mai+1)×r,∏m+1k−rai+1} 最小
具体可参见std
是不是很diao,但是我们可以打表:
#include<cstdio>
using namespace std;
long long ans[]={,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,};
int main()
{
int n;
scanf("%d",&n);
if (n==) { printf("%lld",); return ; }
if (n==) { printf("%lld",); return ; }
printf("%lld",ans[n]);
}
EZ 2018 03 09 NOIP2018 模拟赛(三)的更多相关文章
- EZ 2018 03 30 NOIP2018 模拟赛(六)
链接:http://211.140.156.254:2333/contest/67 转眼间上次加回来的Rating又掉完了. 这次不知为何特别水,T1想了一段时间没想出来弃了,导致后面心态炸了. T2 ...
- EZ 2018 03 23 NOIP2018 模拟赛(五)
链接:http://211.140.156.254:2333/contest/65 这次Rating重回Rank18,我是20的守门员(滑稽) 这次题目和数据普遍偏水,我T2打错了一个变量名竟然过了所 ...
- EZ 2018 03 16 NOIP2018 模拟赛(四)
链接:http://211.140.156.254:2333/contest/64 我去掉了一百多分! 这次的题目怎么说呢,特别水,但是就是出现了一些很逗的错误导致炸裂. 最好笑的是SB的不只我一个: ...
- EZ 2018 06 17 NOIP2018 模拟赛(十九)
这次的题目难得的水,但是由于许多哲学的原因,第二题题意表述很迷. 然后是真的猜题意了搞了. 不过这样都可以涨Rating我也是服了. Upt:链接莫名又消失了 A. 「NOIP2017模拟赛11.03 ...
- EZ 2018 06 10 NOIP2018 模拟赛(十八)
好久没写blog&&比赛题解了,最近补一下 这次还是很狗的,T3想了很久最后竟然连并查集都忘写了,然后T2map莫名爆炸. Rating爆减......链接不解释 好了我们开始看题. ...
- EZ 2018 05 04 NOIP2018 模拟赛(十二)
这次的试卷应该是激励我们一下的,链接 然后大家的分数就都很高,然后我就210被一群秒A T2的240大佬爆踩 掉了5rating但Rank竟然发杀了 X_o_r dalao && YZ ...
- EZ 2018 06 24 NOIP2018 模拟赛(二十)
很久之前写的一套题了,由于今天的时间太多了,所以记起来就写掉算了. 这一场尽管T2写炸了,但也莫名Rank4涨了Rating.不过还是自己太菜. A. 环游世界 首先我们先排个序,想一下如果不用走回来 ...
- EZ 2018 06 02 NOIP2018 模拟赛(十七)
这次的比赛是真心比较狗,我TM的写了30min的树剖ZZ地直接memset超时了 话说我既然想到差分就应该去写差分的啊! 好了不过这次Rank还挺高的,终于要打进前10了当然是假的了. 好了下面开始讲 ...
- EZ 2018 05 26 NOIP2018 模拟赛(十六)
这次难道就是传说中的标准分大赛?而且这次比赛的链接不翼而飞了 一堆人153pts然后就有Rank4?看来这个Rank4不值钱了,才涨了50+的Rating. 不过还好最后5min的时候想出了T1正解, ...
随机推荐
- android:首页点击返回键,两秒内再次点击退出系统
//记录用户首次点击返回键的时间 private long firstTime = 0; /** * 通过监听keyUp 实现双击返回键退出程序 * @param keyCode * @param e ...
- create-react-app脚手架的安装和目录结构介绍
1.对脚手架的初步了解 编程领域中的“脚手架”指的是能够快速搭建项目“骨架”的一类工具,例如大多数的React项目都有src,public,webpack配置文件等等,而src目录中又包含compon ...
- [Objective-C] Block实现回调和简单的学习思考
初识Block的时候,总觉得其很可怕,因为看不懂其运行原理,所以用起来总是觉得不安全.关于Block的语法,等我把手里的资料全部看完,整理好再发出来.这次先看看用Block怎么实现回调. 新博客:wo ...
- 简单的分页小demo
public class Demo { public static void main(String[] args) { Scanner sc = new Scanner(System.in); Sy ...
- HttpWebRequest 禁用系统默认代理
方法一 将HttpWebRequest对象的Proxy属性设置为null 方法二 配置文件修改 <proxy usesystemdefault="False" />
- NodeJS中MySql的增删改查操作
纯粹记录一下最基础写法,几乎没有写什么逻辑,写法也并不是很完善(因为我自己也刚刚摸索出来这么写可以...= =!) 望高手指教 也希望能够帮到比我还新的新手.... //1.insert操作 ...
- 单例模式实现 Volitile , interlocked
//单例模式: //1. 双检锁机制 Volatile.write() //2. 静态变量 //3. Interlocked.CompareExchange(ref single, temp, nul ...
- sqlite 字符串拼接
select path || '%' from t_category where depth = 0 and type = 0 用'||'拼接字符串 比如path是/1001/的话 那结果就是/10 ...
- MySQL升级后 MySQL 5.7 时间不兼容问题
- Learn Algorithms With Javascript - 基于 Js 进行算法学习
基于 javascript 学习并实现常用的经典算法,欢迎对算法和数学感兴趣的 Js 开发者参与,一起学习共同进步. 算法实现 排序 插入排序 sort/lib/insertion-sort.js 希 ...