自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 【Game】组合游戏入门

poj 2484 ( 对称 )

2014-08-08 20:51:45 373

原创 素数 学习笔记

一、素数的性质: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关注的人

提示
确定要删除当前文章?
取消 删除