zoukankan      html  css  js  c++  java
  • 2018.12.22【NOIP提高组】模拟B组总结

    今天的比赛发现时间掌握不好。。。
    第一题:想了2个小时。。。都想到数位DP去了,虽然没打(但是我疯了)
    打表找规律。比赛时打了个表发现每九个的D()都是一循环(1~9)
    然后想着怎么做,先打了个暴力然后在想,没想到的是:
    如果x为喜欢的数的话,那么x+22680也是喜欢的数。
    为什么?设x=aD(a),那么x+22680=aD(a)+22680
    因为D(a)为1~9中的一个,所以D(a)为22680的倍数
    那么a*D(a)+22680=(a+22680/D(a))*D(a),所以没有问题!
    所以我们只需要先预处理一下1~22680的喜欢的数即可。
    每次l~r手动统计答案即可。
    https://blog.csdn.net/Larry1118/article/details/85211130
    第二题:一眼状压DP,但发现转移方程难以想到&实现,直接弃疗
    正解为dfs+记忆化,设f[i][j][k]为到了第i行,第i行的状态为j,
    第i+1行的状态为k,且满足第i行以前的满足条件的最小海苔数。
    https://blog.csdn.net/Larry1118/article/details/85268569
    第三题:考场没想到,然后就打了个dfs+堆,惨烈爆零(T飞+WA)
    经过研究发现,对于一个非叶子节点x,它的所有儿子节点都要小于等于它的最小的那个儿子节点。
    然后,我们需要找出一个m——也就是每个儿子是值。因为要满足它的儿子节点相同且符合,那么我们可以设一个l[x]表示x的儿子的lcm。l[x]=lcm(son[x])*x的儿子个数。那么m=mi-mi mod (l[x]/儿子的个数)。
    总之,这次的比赛时间和思路不对,应该层层递进,而不是bfs。。。
    当想到了一点是要接着想怎么再利用这一点,如此,应当是可以想出来的。
    https://blog.csdn.net/Larry1118/article/details/85206872

    In general,effort next time!

    转载需注明出处。
  • 相关阅读:
    MySQL详细操作
    啥是SQL?
    MySQL之中文乱码问题
    Windows压缩包安装MySQL
    GIL(全局解释器锁)
    协程
    线程
    第八周 编程作业
    PCA
    第八周 第一部分
  • 原文地址:https://www.cnblogs.com/jz929/p/11817814.html
Copyright © 2011-2022 走看看