最近挺久没写比赛类的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 模拟赛(三)的更多相关文章

  1. EZ 2018 03 30 NOIP2018 模拟赛(六)

    链接:http://211.140.156.254:2333/contest/67 转眼间上次加回来的Rating又掉完了. 这次不知为何特别水,T1想了一段时间没想出来弃了,导致后面心态炸了. T2 ...

  2. EZ 2018 03 23 NOIP2018 模拟赛(五)

    链接:http://211.140.156.254:2333/contest/65 这次Rating重回Rank18,我是20的守门员(滑稽) 这次题目和数据普遍偏水,我T2打错了一个变量名竟然过了所 ...

  3. EZ 2018 03 16 NOIP2018 模拟赛(四)

    链接:http://211.140.156.254:2333/contest/64 我去掉了一百多分! 这次的题目怎么说呢,特别水,但是就是出现了一些很逗的错误导致炸裂. 最好笑的是SB的不只我一个: ...

  4. EZ 2018 06 17 NOIP2018 模拟赛(十九)

    这次的题目难得的水,但是由于许多哲学的原因,第二题题意表述很迷. 然后是真的猜题意了搞了. 不过这样都可以涨Rating我也是服了. Upt:链接莫名又消失了 A. 「NOIP2017模拟赛11.03 ...

  5. EZ 2018 06 10 NOIP2018 模拟赛(十八)

    好久没写blog&&比赛题解了,最近补一下 这次还是很狗的,T3想了很久最后竟然连并查集都忘写了,然后T2map莫名爆炸. Rating爆减......链接不解释 好了我们开始看题. ...

  6. EZ 2018 05 04 NOIP2018 模拟赛(十二)

    这次的试卷应该是激励我们一下的,链接 然后大家的分数就都很高,然后我就210被一群秒A T2的240大佬爆踩 掉了5rating但Rank竟然发杀了 X_o_r dalao && YZ ...

  7. EZ 2018 06 24 NOIP2018 模拟赛(二十)

    很久之前写的一套题了,由于今天的时间太多了,所以记起来就写掉算了. 这一场尽管T2写炸了,但也莫名Rank4涨了Rating.不过还是自己太菜. A. 环游世界 首先我们先排个序,想一下如果不用走回来 ...

  8. EZ 2018 06 02 NOIP2018 模拟赛(十七)

    这次的比赛是真心比较狗,我TM的写了30min的树剖ZZ地直接memset超时了 话说我既然想到差分就应该去写差分的啊! 好了不过这次Rank还挺高的,终于要打进前10了当然是假的了. 好了下面开始讲 ...

  9. EZ 2018 05 26 NOIP2018 模拟赛(十六)

    这次难道就是传说中的标准分大赛?而且这次比赛的链接不翼而飞了 一堆人153pts然后就有Rank4?看来这个Rank4不值钱了,才涨了50+的Rating. 不过还好最后5min的时候想出了T1正解, ...

随机推荐

  1. android:首页点击返回键,两秒内再次点击退出系统

    //记录用户首次点击返回键的时间 private long firstTime = 0; /** * 通过监听keyUp 实现双击返回键退出程序 * @param keyCode * @param e ...

  2. create-react-app脚手架的安装和目录结构介绍

    1.对脚手架的初步了解 编程领域中的“脚手架”指的是能够快速搭建项目“骨架”的一类工具,例如大多数的React项目都有src,public,webpack配置文件等等,而src目录中又包含compon ...

  3. [Objective-C] Block实现回调和简单的学习思考

    初识Block的时候,总觉得其很可怕,因为看不懂其运行原理,所以用起来总是觉得不安全.关于Block的语法,等我把手里的资料全部看完,整理好再发出来.这次先看看用Block怎么实现回调. 新博客:wo ...

  4. 简单的分页小demo

    public class Demo { public static void main(String[] args) { Scanner sc = new Scanner(System.in); Sy ...

  5. HttpWebRequest 禁用系统默认代理

    方法一 将HttpWebRequest对象的Proxy属性设置为null 方法二 配置文件修改 <proxy usesystemdefault="False" />

  6. NodeJS中MySql的增删改查操作

    纯粹记录一下最基础写法,几乎没有写什么逻辑,写法也并不是很完善(因为我自己也刚刚摸索出来这么写可以...= =!)    望高手指教   也希望能够帮到比我还新的新手.... //1.insert操作 ...

  7. 单例模式实现 Volitile , interlocked

    //单例模式: //1. 双检锁机制 Volatile.write() //2. 静态变量 //3. Interlocked.CompareExchange(ref single, temp, nul ...

  8. sqlite 字符串拼接

    select path || '%'  from t_category where depth = 0 and type = 0 用'||'拼接字符串 比如path是/1001/的话 那结果就是/10 ...

  9. MySQL升级后 MySQL 5.7 时间不兼容问题

  10. Learn Algorithms With Javascript - 基于 Js 进行算法学习

    基于 javascript 学习并实现常用的经典算法,欢迎对算法和数学感兴趣的 Js 开发者参与,一起学习共同进步. 算法实现 排序 插入排序 sort/lib/insertion-sort.js 希 ...