NOIP 模拟 $12\; \text{简单的填数}$】的更多相关文章

题解 一个纯的贪心,被我搞成 \(dp\) 了,最后把错解删掉了,骗了 \(10pts\) 考虑如何贪心,设置一种二元组 \((x,l)\),\(x\) 表示当前值,\(l\) 表示当前最长连续长度. 按上述所说设置两个二元组 \(up,down\):\(up\) 表示 \(x\) 为当前最大值,\(down\) 则相反 转移时分情况: 当前 \(num_i\) 为零,直接贪心转移 当前 \(num_i\) 不为零,若贪心转以后 \(down\) 的值大于 \(num_i\) 或 \(up\)…
题解 有些难度 对于 \(30pts\) 直接暴力 对于 \(70pts\) 发现规律 \(2^n-a\) 与 \(a\;\;(a\in [1,2^n))\) 分解质因数后,\(2\) 的次数相同 \(100pts\) 对于至少有两个数相同,我们可以转化为 \(1-p(\text{所有数均不相同})\),那么 \(p(\text{所有数均不相同})=\frac{A_{2^n}^m}{2^{nm}}\) 对于这个式子,我们发现,上下能约分的因子只有 \(2\),根据上文,我们可以把求 \(A_{2…
题解 签到题 求区间和为 \(k\) 的倍数的区间,我们可以转化为求左右两个端点,其前缀和相等 对于区间最大值,我们可以把其转化为一个值,它能向左,向右扩展的最远边界,一个单调栈即可 我们设一个值 \(i\),它能扩展的左右边界分别为 \(l_i,r_i\) 那么我们将 \(l_i-r_i\) 分为两部分,\(l_i-i\),\(i-r_i\) 枚举较小的那一段(可以证明总复杂度为 \(\mathcal O(nlogn)\) ),在另一段寻找前缀和等于此前缀和加 \(num_i\) 的个数,用一…
noip模拟12 solutions 这次考试靠的还是比较好的,但是还是有不好的地方, 为啥嘞??因为我觉得我排列组合好像白学了诶,文化课都忘记了 正难则反!!!!!!!! 害没关系啦,一共拿到了\(120pts\),其实距离我的理想分数还差那么\(100pts\) 具体是这样的,第一题AC,第二题10,第三题10 下次要把知识都回忆一下,比如这次用到的欧拉定理,差一点就忘记了 noip模拟13!!!200分!! · · · T1 简单的区间 哈哈哈这个题是我这几次考试中最成功的一道了,所以我一…
题意:自己搜吧... 思路: 记二元组\((x,l)\)表示当前为\(x\)且之前有\(l\)个连续数与\(x\)相同. 并且维护up和low数组表示取到最大/最小值时,连续序列的长度. 正一遍,反一遍,搞定. 我排序手抖达成\(a.r and b.r\),调了1小时... #include <bits/stdc++.h> using namespace std; const int maxn = 200010; inline int read () { int q=0,f=1;char ch…
简单的区间 $update$ 终于$AC$了 找到$(sum[r]+sum[l](sum表示以中间点为基准的sum)-mx)\%k==0$的点 注意这里$sum$表示是以$mid$为基准点,(即$sum[l]$为后缀和,$sum[r]$为前缀和) 回忆$(sum[r]-sum[l])\%k==0$这个经典问题做法(入阵曲简化版),开桶,桶里维护$sum[l]\%k$,那么$r$贡献就是桶里$sum[r]\%k$个数 于是这个题开桶维护$sum$,问题转化为求$max$即可 记录$max$位置是否…
原文链接: 12 Simple (Yet Powerful) JavaScript Tips 其他链接: (译文)12个简单(但强大)的JavaScript技巧(一) 强大的立即调用函数表达式 (什么是立即调用函数表达式, 何时使用它) IIFE (Immediately Invoked Function Expressions, 发音:"Iffy")是立即调用函数表达式的缩写形式, 它的语法大概如下: (function() { //Do fun stuff })() 这是一个立即调…
原文连接: 12 Simple (Yet Powerful) JavaScript Tips 我将会介绍和解析12个简单但是强大的JavaScript技巧. 这些技巧所有的JavaScript程序员都可以马上使用, 你不需要成为JavaScript高手才能理解这些.如果你还是新手, 而且读完所有这些技巧的详解和每种技巧是如果工作的以后运用它们, 你会写出更加简练高效的JavaScript程序. 确实, JavaScript高手已经运用这些技巧写出了很多强大, 高效的JavaScript程序. 但…
 蛇形填数: 在n×n方阵里填入1,2,....,n×n,要求填成蛇形.例如,n = 4 时方阵为:    10  11  12  1   9  16  13  2 8  15  14  3 7   6    5   4 上面的方阵中,多余的空格只是为了便于观察规律,不必严格输出.n <= 8 . 类比上面这种数学中的矩阵,我们可以考虑使用一个二维数组来储存. 解题思路:从右上角开始往下填数,当到底的时候转向左填值,当到左边的边的时候转向上填数,当到最上面的时候转向右填值...依次类推.第一轮转…
螺旋填数 Time Limit: 2000/1000ms (Java/Others) Problem Description: 一天,小明在研究蜗牛的壳时,对其螺旋状的花纹感到十分有趣.于是他回到了家中,画出了一个螺旋花纹,但是他对这样的图案并不满意,他想要得到一个螺旋的n * n矩阵,于是他以1开始,顺时针螺旋地在螺旋花纹中填入一个数,保证这个数比上一个数大1,一直按照规则填直到填出一个n * n的矩阵为止.于是小明根据螺纹做出了以下的规则:螺旋填数由1开始,开始填入方向为右,然后向下,再向左…