11 2018 档案

摘要:题目: FJ给他的奶牛用二进制进行编号,每个编号恰好包含K 个"1" (1 <= K <= 10),且必须是1开头。FJ按升序编号,第一个编号是由K个"1"组成。 请问第N(1 <= N <= 10^7)个编号是什么。 不同寻常的暴力: 样例是升序的第7个,我把1--7都列出来。 1 1 1 1 0 阅读全文
posted @ 2018-11-28 16:59 shuai_hui 阅读(414) 评论(0) 推荐(0) 编辑
摘要:学习资料处 HDU 1542 Atlantis 题意:给出几个矩阵求这些矩阵覆盖的面积: 给出左上角与右下角 Sample Input 20 5 4 12 4 6 2 20 5 4 12 4 6 2 Sample Output 20 #include<bits/stdc++.h> using nam 阅读全文
posted @ 2018-11-27 18:06 shuai_hui 阅读(370) 评论(0) 推荐(0) 编辑
摘要:题目:给出图的条件 ,求1到n的最短路 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <vector> #include <queue> using namespace s 阅读全文
posted @ 2018-11-27 17:42 shuai_hui 阅读(136) 评论(0) 推荐(0) 编辑
摘要:题目描述 如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出orz 输入输出格式 输入格式: 第一行包含两个整数N、M,表示该图共有N个结点和M条无向边。(N<=5000,M<=200000) 接下来M行每行包含三个整数Xi、Yi、Zi,表示有一条长度为Zi的无向边连接结点Xi、Yi 输出 阅读全文
posted @ 2018-11-26 17:06 shuai_hui 阅读(1148) 评论(0) 推荐(0) 编辑
摘要:题意: 给定n,a,求区间 [ 1 , 1<<n ] 的数b 满足 的个数 分析:打出暴力程序可以发现当a为奇数的时候结果为一; 当a为偶时 , a^b=2^(k+b)mod 2^n ; 结果肯定为0 ; 那就有b^a mod 2^n=0 ; 则 b也为偶数 ,在分析: 然后分类讨论 b <= n时 阅读全文
posted @ 2018-11-23 11:25 shuai_hui 阅读(119) 评论(0) 推荐(0) 编辑
摘要:比赛的时候规律题是很常见的事情 ,所以这里做下总结。 解题分几个步骤; 1 : 首先规律题的数据规模是大的 , 可以说如果结果是数字样的话,而且数据大很有可能的规律; 2 : 暴力打表找到前面10位数字; 2(1) : 如果足够强大可以根据某种灵性的解法得出答案(我是不够灵的。。) 3 :如果足够强 阅读全文
posted @ 2018-11-22 17:05 shuai_hui 阅读(602) 评论(0) 推荐(0) 编辑
摘要:#include<stdio.h> #include<string> #include<string.h> #include<iostream> using namespace std; //compare比较函数:相等返回0,大于返回1,小于返回-1 int compare(string str1 阅读全文
posted @ 2018-11-21 15:43 shuai_hui 阅读(150) 评论(0) 推荐(0) 编辑
摘要:/* 高精度进制转换 把oldBase 进制的数转化为newBase 进制的数输出。 调用方法,输入str, oldBase newBase. change(); solve(); output(); 也可以修改output(),使符合要求,或者存入另外一个字符数组,备用 */ #include<s 阅读全文
posted @ 2018-11-21 15:42 shuai_hui 阅读(254) 评论(0) 推荐(0) 编辑
摘要:有坑!!!当x==0时,因为y>0,a,b不能同时为0,所以答案要-1 #include<iostream> #include<cstdlib> #include<cstdio> #include<string> #include<vector> #include<deque> #include<q 阅读全文
posted @ 2018-11-19 14:56 shuai_hui 阅读(236) 评论(0) 推荐(0) 编辑
摘要:题意: 给定S,N,把S+1,S+2,...S+N这N个数填到1,2,...,N里,要求X只能填到X的因子的位置。(即X%Y=0,那么X才能放在Y位置) 问是否能够放满。 分析:经过小队的分析得出的结论是如果S+1,S+2,...S+N有两个素数就肯定是不行的对吧 ,虽然素数可以取本身当如果素数可以 阅读全文
posted @ 2018-11-19 14:30 shuai_hui 阅读(231) 评论(0) 推荐(0) 编辑
摘要:题意: 给出n个炸弹的信息 :坐标x , 坐标y , 爆炸半径 , 成本: 如果一个炸弹被引爆那这个范围的都爆炸 , 问最小的成本是多少? 题意:首先先来个n^2 暴力出某个炸弹爆炸波及的其他炸弹,用一条有向边来连接 , 然后找到强连通分量 ,缩点 , 就可以形成一张新的有向图 , 那是不是就是所有 阅读全文
posted @ 2018-11-18 23:31 shuai_hui 阅读(172) 评论(0) 推荐(0) 编辑
摘要:题意:求[a,b]中,偶数位的数字都是d,其余为数字都不是d,且能被m整除的数的个数(这里的偶数位是的是从高位往低位数的偶数位)。a,b<10^2000,m≤2000,0≤d≤9 a,b<10^2000,m≤2000,0≤d≤9 题解:用f[i][j]表示有i+1位,第i位是d,且%m=j的数的个数 阅读全文
posted @ 2018-11-16 11:05 shuai_hui 阅读(161) 评论(0) 推荐(0) 编辑
摘要:题意: 给你三个数字L, R, K,问在[L, R]范围内有多少个数字满足它每一位不同数字不超过k个,求出它们的和 分析:考虑用状态压缩 , 10给位0~9 , 如果之前出现过了某个数字x ,那就拿当前的状态 st | (1<<x) , 表示这个数字出现了 , 那st的二进制有多少的1 , 就有多少 阅读全文
posted @ 2018-11-16 09:54 shuai_hui 阅读(896) 评论(0) 推荐(0) 编辑
摘要:题意: 给出一个n ; 有两个操作: 1,mul A , n=n*A ; 2,sqrt() , n=sqrt(n) 开更出来必须是整数 ; 求出经过这些操作后得出的最小 n , 和最小操作数; 分析:首先得明确知道分解到怎样的时候才是 得出最小的n , 首先进过手画就可以明明,经过分解n 可以发现它 阅读全文
posted @ 2018-11-15 19:35 shuai_hui 阅读(171) 评论(0) 推荐(0) 编辑
摘要:题意: 给你一棵n个节点的树,每个点有一个权值,初始全为0,m次操作,每次三个数(v, d, x)表示只考虑以v为根的子树,将所有与v点距离小于等于d的点权值全部加上x,求所有操作完毕后,所有节点的值 首先要明确两件事情性质1.每个人的操作只会影响到他的子孙(包括自己) 性质1.每个人的操作只会影响 阅读全文
posted @ 2018-11-14 22:34 shuai_hui 阅读(1152) 评论(0) 推荐(0) 编辑
摘要:题目大意: 一个图N个点M条双向边。设各点到点1的距离为di,保证满足条件删除M-K条边之后使得到点1的距离仍为di的点数量最多的情况下,输出剩余的K条边的编号(按输入顺序)。 一道大水题 , 应为网络原因没有看到题目, 赛后发现就是跑一遍DJ最短路就好了 , 在最短路里面拿出k条边, 大水题呀。。 阅读全文
posted @ 2018-11-14 16:49 shuai_hui 阅读(128) 评论(0) 推荐(0) 编辑
摘要:题目:找出区间[A, B]内所有数字的奇数字位出现次数为偶数,偶数字位出现次数为计数的数的个数。 分析:这道题的状态同样不好取,因为要求每一个奇数的个数都要为偶数,每一个偶数的位数都要为奇数,又因为只有10个数(0~9),又因为没个数只有3种状态,分别是没有(0),奇数个(1),偶数个(2),这样我 阅读全文
posted @ 2018-11-10 11:22 shuai_hui 阅读(589) 评论(0) 推荐(0) 编辑
摘要:题目:求1~n的范围里含有13且能被13整除的数字的个数。 分析: dfs(len, num, mod, flag) mod记录数字对13取余后的值 len表示当前位数 num==0 不含13且上一位不为1 pre==1 不含13且上一位为1 pre==2 含13 flag表示是否可以任意取值(判断 阅读全文
posted @ 2018-11-08 20:48 shuai_hui 阅读(257) 评论(0) 推荐(0) 编辑
摘要:题目:区间的数里面有49的个数 分析: dp[pos][0]:长度为pos的数中,不包含49的,前一位不为4的有多少个;dp[pos][1]:长度为pos的数中,不包含49的,前一位为4的有多少个;dp[pos][2]:长度为pos的数中,包含49的有多少个; 一开始我是打算先算不满足的,在算满足的 阅读全文
posted @ 2018-11-08 16:50 shuai_hui 阅读(219) 评论(0) 推荐(0) 编辑
摘要:题目:区间的有多少个数字满足数字的每一位上的数组成的最长递增子序列为K 思路:用dp[i][state][j]表示到第i位状态为state,最长上升序列的长度为k的方案数。那么只要模拟nlogn写法的最长上升子序列的求法就行了。这里这里记忆化的时候一定要写成dp[pos][stata][k],表示前 阅读全文
posted @ 2018-11-08 16:04 shuai_hui 阅读(276) 评论(0) 推荐(0) 编辑
摘要:题意:数字满足的条件是该数字可以被它的每一位非零位整除。 分析:大概的思路我是可以想到的 , 但没有想到原来可以这样极限的化简 , 在数位dp 的道路上还很长呀 ; 我们都知道数位dp 的套路 , 核心的部分就是找到判断这个数的满足条件的方法 , 如果找到了那这个问题就迎刃而解了吧 ; 这个题的条件 阅读全文
posted @ 2018-11-08 15:13 shuai_hui 阅读(269) 评论(0) 推荐(0) 编辑
摘要:题意:求区间[l,r]内所有与7无关的数的平方和(取模)定义与7无关的数: 1.数字的数位上不能有7 2.数字的数位和不能是7的倍数 3.数字本身不能是7的倍数分析:状态的保存:1.数位上不能有7: 只需枚举数位的数字的时候跳过7就好 if (i == 7) continue;2.数位和不能是7的倍 阅读全文
posted @ 2018-11-07 23:51 shuai_hui 阅读(237) 评论(0) 推荐(0) 编辑
摘要:平衡数的定义是指,以某位作为支点,此位的左面(数字 * 距离)之和 与右边相等,距离是指某位到支点的距离; 题意:求区间内满足平衡数的数量 ; 分析:很好这又是常见的数位dp , 不过不同的是我们这次需要枚举是哪个位置是平衡点 , 一开始我是想说搜索到最后以为 ,然后得到这个数的位数 ,在判断平衡位 阅读全文
posted @ 2018-11-06 23:17 shuai_hui 阅读(211) 评论(0) 推荐(0) 编辑
摘要:题意:求区间内二进制中0的数量要不能少于1的数量 分析:很明显的是数位DP; 菜鸟me : 整体上是和数位dp模板差不多的 , 需要注意的是这里有前导零的影响 , 所以需要在dfs()里面增加zor 变量的限制条件 , 那么我们的dp[i][j] 是表示第i 位置 , ,0的数量减去1的数量不少于 阅读全文
posted @ 2018-11-06 22:28 shuai_hui 阅读(292) 评论(0) 推荐(0) 编辑
摘要:题目给了个f(x)的定义:F(x) = An * 2n-1 + An-1 * 2n-2 + ... + A2 * 2 + A1 * 1,Ai是十进制数位,然后给出a,b求区间[0,b]内满足f(i)<=f(a)的i的个数。 常规想:这个f(x)计算就和数位计算是一样的,就是加了权值,所以dp[pos 阅读全文
posted @ 2018-11-05 18:50 shuai_hui 阅读(147) 评论(0) 推荐(0) 编辑
摘要:推荐博客 推荐博客 数位dp是一种计数用的dp,一般就是要统计一个区间[le,ri]内满足一些条件数的个数。所谓数位dp,字面意思就是在数位上进行dp咯。数位还算是比较好听的名字,数位的含义:一个数有个位、十位、百位、千位......数的每一位就是数位啦!之所以要引入数位的概念完全就是为了dp。数位 阅读全文
posted @ 2018-11-05 18:22 shuai_hui 阅读(263) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示