08 2018 档案
摘要:题目:戳这里 题意:给一个n*m的矩阵,里面由a~z及A~Z构成,问有多少个子矩阵满足任意一行或一列中都没有相同的字母。 解题思路:左上角和右下角两点可以确定一个矩阵。可以先预处理出来每个点作为一个矩阵的右下角,向左和向上的最长值。然后遍历每个点是右下角的情况,计算该点为右下角时,能构成多少个矩阵。
阅读全文
摘要:题目:戳这里 题意:有n*m个点全为白色,q个圆,将q个圆内所有的点都染成黑色,问最后剩下多少白色的点。 解题思路:每一行当做一个扫描线,扫描所有的圆,记录每一行在圆中的点即可,O(n*q)。 附ac代码: 1 #include <iostream> 2 #include <cstdio> 3 #i
阅读全文
摘要:题目链接:戳这里 题意:一个平面里有n个点,问存不存在一条直线上有m个点,满足m >= n*x。 解题思路:0<x<1,且x小数点后只有1位,也就是说10*m > n。假设存在一条直线满足条件,则任意一点在m中的概率>0.1,也就是说理论上随机10个点,一定有一个点在m上。所以随机一个点,遍历与其他
阅读全文
摘要:两个数互质的概率为6/(pi *pi),可用于随机数求相关题目。
阅读全文
摘要:题目:戳这里 学习博客:戳这里 题意:给n个数为a1~an,找到字典序第k小的序列,输出该序列所有数所在位置。 解题思路:先把所有序列预处理出来,方法是设一个数组为dp,dp[i]表示以i为开头的序列共有多少个。这样当k>dp[i],则以i为开头的序列满足不了第k小,k-=dp[i],继续往后找,知
阅读全文
摘要:题目链接:戳这里 学习博客:戳这里 题意:给n种数,n种数取任意个任意组合相加为sum,求sum%k有哪些值。 解题思路: 由exgcd可知(具体用到的是贝祖定理),ax + by = c,满足gcd(x,y)|c。那么我们可以设sum=a1*x1+a2*x2+a3*x3...an*xn,即sum%
阅读全文
摘要:题目:戳这里 学习博客:戳这里 作者:阿狸是狐狸啦 n个点,一个点集S是好的,当且仅当对于他的每个子集T,存在一个右边无限延长的矩形,使的这个矩形包含了T,但是和S-T没有交集。 求有多少个这种集合。 画图找规律可得 当我们求的集合中的点只有一个时,肯定满足要求 。 当有两个点且这两个点y坐标不相等
阅读全文
摘要:题目:戳这里 思路来源:视频讲解 题意:有n个箱子按1...n标号,每个箱子有大小为di的钻石概率为pi,我们初始有个大小为0的钻石,从1到n按顺序打开箱子,遇到比手中大的箱子就换,求交换次数的数学期望。 解题思路:这题跟上题[点这里]很像,都是找到一个子状态,利用数学期望的可加性,处理求和即可。这
阅读全文
摘要:题目:戳这里 题意:鼠标点击n下,第i次点击成功的概率为p[i],连续点击成功x次可以获得x^m分,求n次点击总分数的数学期望。 解题思路:数学期望的题很多都需要转化思维,求某一个单独状态对整体答案的贡献。这主要是利用了期望的可加性。 即:E(X+Y)=E(X)+E(Y); 比如在这题中,第2到3次
阅读全文
摘要:题目链接:戳这里 学习题解:戳这里
阅读全文
摘要:题目链接:戳这里 学习博客:戳这里 题意: 有n个空位,给一个数x,如果x%n位数空的,就把x放上去,如果不是空的,就看(x+1)%n是不是空的。 现在给一个已经放过数的状态,求放数字的顺序。(要求字典序最小 解题思路: 用一个优先队列。如果序列里的x的位子就是x%n,证明这个数是最开始就放好的。加
阅读全文
摘要:题目:戳这里 题意,n*n的矩阵,只能填-1,0,1,问能不能使该矩阵的任意行和列的和都不想等。 解题思路:戳这里 可以说是一目了然了 附ac代码: 1 #include<iostream> 2 #include<algorithm> 3 #include<stdio.h> 4 #include<s
阅读全文
摘要:题目:戳这里 学习博客:戳这里 欧拉函数的性质: ① N是不为0的整数。φ(1)=1(唯一和1互质的数就是1本身) ② 除了N=2,φ(N)都是偶数. ③ 小于N且与N互质的所有数的和是φ(n)*n/2。 ④ 欧拉函数是积性函数——若m,n互质,φ(m*n)=φ(m)*φ(n)。 ⑤ 当N为奇数时,
阅读全文
摘要:学习博客: 戳这里 戳这里 “在信息学竞赛中,有这样一类问题:求给定区间中,满足给定条件的某个D 进制数或此类数的数量。所求的限定条件往往与数位有关,例如数位之和、指定数码个数、数的大小顺序分组等等。题目给定的区间往往很大,无法采用朴素的方法求解。此时,我们就需要利用数位的性质,设计log(n)级别
阅读全文
摘要:题目链接:戳这里 题意:从(1,1)出发,一遍把格子走完,每个格子只能走一次。问怎么走总和最大。 解题思路:画图可知,总共就3种走法的混合。 dw: 样例1的走法 up: 样例1反过来的走法 lp: 样例2的走法 两种组合情况: 先lp,后dw或up 我的思路是暴力预处理。把dw,up,lp三种走法
阅读全文
摘要:hdu - 1166 敌兵布阵(求和) 题目链接:戳这里 1 #include <cstdio> 2 #include <cstring> 3 #include <string> 4 #include <algorithm> 5 #include <cmath> 6 #include <vector
阅读全文
摘要:题目链接:戳这里 转自:参考博客 题意:给一个n*m的矩阵,放入q个点,这q个点之间的关系是,若已知这样三个点(x1,y1),(x2,y1),(x1,y2),可以在(x2,y2)处生成一个新的点,对于新的点和被使用过的点都能重复使用,问你最少需要在矩阵汇总添加多少个点是的整个矩阵被点铺满? 解题思路
阅读全文
摘要:题目链接:戳这里 转自:戳这里 关于splay入门:戳这里 题意:给n个数,进行m次操作,每次都从n个数中取出连续的数放在最前面。 解题思路:splay的区间操作。 附代码: 1 #include<iostream> 2 #include<stdio.h> 3 using namespace std
阅读全文

浙公网安备 33010602011771号