- 博客(20)
- 收藏
- 关注
原创 【数位DP】Codeforces Gym 100418J Lucky tickets
题意:设性质P:一个数能够整除它二进制表示下的1的个数。求[1,N]中满足性质P的数的个数。N<=10^19。思路:数位DP。首先这个数最多有64位,我们可以枚举1的个数x,然后求可以整除x的数的个数。设dp[i][j][k][w]表示从最高位枚举到i位,现在已经构成的数模x余多少(这里是关键,只用考虑余数),现在已经用了k个1,w=0表示现在枚举的这个数已经小于N了,w=1表示从最高位到第i位都与
2015-08-09 21:59:19
807
原创 UVA 11549 模拟 Floyed判圈法的应用 Calculator Conundrum
此题很容易想到会出现环,那么就可以想到用map来判重,但是此题还有一种
2014-09-09 17:37:16
413
原创 CF 【树状数组】461C. Appleman and a Sheet of Paper
/*此题操作麻烦之处就是可能折叠过去后超过当前的右边界 * 如果超过右边界可以等效为将右边的向左折,相当于翻转了一次,标记rev=1, * 下次再进行折叠操作的时候就看成起始端在右边 * */#include#includeusing namespace std;const int maxn = 100000+10;int n,q;int l,r,c[maxn],type;i
2014-09-04 16:53:01
529
原创 【Splay】POJ 3468 A Simple Problem with Integers
/*happywu * 2014.8.15 * poj 3468 * Splay */#include#includeusing namespace std;typedef long long LL;const int maxn=100000+10;struct Node{ int key,Size,num,fa,son[2]; LL sum,lazy;}Tree[ma
2014-08-15 17:39:29
417
原创 【线段树 Splay】 hdu 1754 I Hate It
线段树/*happywu * hdu 1754 * 2014.8.14 */#include#includeusing namespace std;const int maxn=200000+10;struct Node{ int key,Max;}Tree[maxn*4];int n,A[maxn],m,l,r,x;char com=0;inline void P
2014-08-15 13:57:20
344
原创 【Splay】 1208 [HNOI2004]宠物收养所
/************************************************************** Problem: 1208 User: 704035233 Language: C++ Result: Accepted Time:136 ms Memory:3236 kb************************
2014-08-14 22:16:42
484
原创 Topcoder SRM 600 ORSolitaire
/****** * 题意:给出n个数,和一个目标数goal,求最少去掉这n个数中的多少个数,可以使得任意选取剩下的数进行位运算 or 操作都不能得到目标数goal * 方法:由于or操作只能将0变成1 ,而不能将1变成0,所以对于目标数的每一位,如果是0,那么这一位是1的数都不用删去。 * 我们这样来考虑,不能得到目标数goal的含义是 对于目标数的某一位为1,而我们不能通过or操作将当前位
2014-08-14 14:45:59
521
原创 【splay】【树状数组】 BZOJ 1503 [NOI2004]郁闷的出纳员
/************************************************************** Problem: 1503 User: 704035233 Language: C++ Result: Accepted Time:868 ms Memory:6348 kb************************
2014-08-13 20:44:24
532
原创 【Splay】BZOJ 1588 [HNOI2002]营业额统计
用splay的基本操作Find_pre和Find_s#include#include#includeusing namespace std;const int maxint = 214748364;const int MAX_N = 40000;//0表示空结点NULLstruct Node{ int key,num,fa; int son[2];}Tree[MA
2014-08-13 14:34:52
527
原创 素数 学习笔记
一、素数的性质:1. 合数必有素数因子2. 设p是素数且p|ab, 则必有p|a 或者 p|b.3. 存在无穷多个素数二、素数的分布1.π(x):估计小于一个正实数x的素数的个数素数定理:随着x的增长,推论:令pn 是第n个素数,其中n是正整数,那么pn ~nln n. 2.对于任意正整数n,存在至少n个连续的合数。证明:考虑:
2014-06-16 23:56:08
604
转载 位运算与组合搜索(一)
文章转自:http://www.cnblogs.com/atyuwen/archive/2010/07/19/bit_combinatorics.html
2014-05-16 21:37:09
530
原创 一道背包问题 BunOJ 29376 沙漠之旅
来源:第十一届北京师范大学程序设计竞赛决赛题意:给定一个容量L, N个物品的重量W[i],每种物品有无限个,求是否能够总共用4个物品恰好填满容量L。1思路:第一种:考虑到只选4个出来,我们可以分情况讨论: (1).用了4种物品,即每种物品一个 (1 1 1 1) (2).用了3种物品,(1 1 2) (3).用了2种物品,(2 2) (1 3)
2014-04-20 20:57:35
662
原创 第十二届北京师范大学程序设计竞赛网络预赛 2014-04-19
网络预赛 2014-04-19A D水题B. 相似数列(DP) 题意:一个数字的序列,把第一数字标记为A,后面的数字如果是前面出现过的数字,则标记为原来的字母,如果是一个新数字,则按字典序进行标记(A B C…)。题目要求 给定一正整数N(0 思路:我们来模拟放数字的过程,可以考虑到,对于当前位i,要么新放一个原来没有的数字,要么放一个原来已经放过的数字,并且当前的状态只由前一
2014-04-20 18:13:19
513
原创 The 12th UESTC Programming Contest Warmup #1
The 12th UESTC Programming Contest Warmup #1链接:http://acm.uestc.edu.cn/#/contest/show/3题目来源:2013 ACM ICPC South Central USA RegionalProgramming ContestB - Effective Infection Time 模拟题(水),主要是正
2014-03-24 18:52:57
621
原创 Hdu 3811 状态压缩 DP
题意:给定数N(N满足m中的一个条件即正确。算法:DP 状态压缩分析:首先不考虑条件的总方案数为N!我们先算不满足条件的方案,因为m个条件之间是或者 关系,有重叠。算取反面较为简单。即将题意抽象成: 有N个排列有序的集合,每个集合中原有元素1…N,但是有一些元素不能取(即为m个条件限制),求从每个集合选出一个元素,且所有选出元素不重复的方案数。 因为N
2014-03-12 10:27:36
576
原创 BST 二叉搜索树 非指针版
BST BST即为binarysearch tree 二叉搜索树为平衡树的基础,所以很要学习的必要。 BST的结点满足一个基本条件就是:结点k的左子树中所有值小于结点k的值,结点k的右子树的所有值大于结点k的值,显然这是一个递归定义的结构。 这个结构就使得中序遍历出来的序列即是一个升序的序列。一个优秀的二叉搜索树能够在log(n)的时间内进行查找、删除一个元素等。
2014-03-07 18:34:31
878
原创 CDOJ 点球大战(penalty)
Penalty算法:模拟考点:字符串的处理首先是要读入一整行可以使用getline(cin,str)然后还要注意到:每组数据第一行为n 整数 ,cin>>n后若getline() 会读入换行符所以在cin>>n 后需要先cin.get() 然后再 getline(cin,str);然后注意到此题只能从后判断倒数的两个单词像是在串中查找”no good”子串的做法也不行这种做
2014-01-19 17:47:23
1105
原创 HDU 1720 A+B Coming
简单的十六进制读入 转化成十进制#include#include#include#include#include#includeusing namespace std;int map(char x){ if((x>='0')&&(x<='9'))return x-'0'; if((x>='a')&&(x<='f'))return x-'a'+10; r
2014-01-06 22:52:24
412
原创 UVA 1009 Balloons in a Box 枚举
刘汝佳黑书上第一题,看起来简单,但是WA了无数次基本思路就是枚举放置气球的顺序 然后依次放气球需要注意的是:枚举的当前点不会被未枚举的点影响,而且也不会被前面计算出半径R为0的点影响,半径为0的点相当于没有放进去输出时 要用printf("%.0lf\n",ans); 如果用cout 会输出科学计数法 然后就一直WA 一直WA。。。#include#include#inclu
2013-12-23 21:09:54
1713
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人