自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 感觉自己好弱

看到别人的成长之路都是rating1900+对应访问量1w+ 虽然差得很远很远但还是在想自己,不知道什么时候CF1900+什么时候访问量1w+呢按照现在CSDN新模式,一篇blog访问量是30-60…maya 200篇【不对好像不多啊 【诶人生有希望了啊 【200道题就可以了嘛【活在梦里 【不知道为什么突然感觉很有动力呀 【不说了我去继续看题 【突然满满的正能量

2016-01-23 11:51:50 640

原创 POJ1451 T9 题解&代码

第一次写Trie树我居然1A了【不,不要算某个PE Trie树模板级别的题【哪里模板了 对于每组数据的dictionary建立一个字典树,然后dfs查询,用数组保存离线的一个询问里的length-1个输出#include<iostream>#include<stdio.h>#include<string.h>#define clr(x) memset(x,0,sizeof(x))usin

2016-01-20 18:14:56 742

原创 Codeforces 570D Tree Requests 题解&代码

上周的最后一道题解!补!完!了! 啊补题解补到想吐是什么体验…我现在算是了解了题意:给出一颗n个点的多叉树,每个点都有一个对应字母(不唯一)和一个对应编号(唯一)。然后有m组询问,每一组询问给出一个v和一个h,表示节点v所在的子树中深度是h的节点【深度是说从根节点向下计算的总深度】中包含的字母,如果这些字母可以组成回文串,输出Yes,否则输出No思路:dfs处理一遍dfs序,按照深度一遍一遍加树状

2016-01-20 18:05:26 540

原创 Codeforces 111C Petya and Spiders 题解&代码

题意:给出一个n×m的网格,每个网格里有一只蜘蛛,每只蜘蛛一秒都可以向四个方向跳一格【不可以跳出网格】(当然它也可以选择不跳)。问一秒之后【每只蜘蛛都行动至多一次】网格上有至多多少个位置没有蜘蛛思路:dp啦dp啦= = dp方程是当存在某种转移条件时,dp[i][sta][stb]=max(dp[i-1][stc][sta]+s[sta],dp[i][sta][stb]) 其中i是行数【其实是最

2016-01-20 17:40:16 784

原创 Codeforces 367D Sereja and Sets 题解&代码

题意:有1-n共n个正整数被分成了m个非空集合(m个集合的并是n个正整数,交总是空集),从m个集合中选最少的集合数,使得对于给定的d,选出的集合中的所有数从小到大排列后满足对于[1, n]这个区间中任意长度为d的连续子区间都至少有一个数在选出的集合中 (1<=d<=n<=100000,1<=m<=20)这个题意是看网上的转化= =原题意比这个抽象很多,这样转化之后整个问题都简化了 思路: 如果要

2016-01-20 17:21:45 641

原创 Codeforces 165E Compatible Numbers 题解&代码

题意:输入长度为n的数组A[],对于每个数A[i]对应输出一个当前数组中与A[i]&运算后为0的数,如果不存在这样的数那么输出-1思路:如果有a[i]&y=0,那么有y=a[i]^((1<<22)-1),那么我们就使dp[y]=i。然后对于一个数x,如果dp[x | (1 << j)]存在的话,那么说明对于数字x一定有a[dp[x | (1 << j)]]&x=0,那么dp[x]=dp[x | (1

2016-01-20 17:07:29 639

原创 CodeForces 333A Secrets 题解&代码

你可以选择一种是三的次方的硬币,满足: 1、用的硬币的总面值要大于n并且最接近n 2、用的硬币数量要尽量多(满足条件1的情况下) 问需要消耗多少个硬币。#include<iostream>#include<stdio.h>using namespace std;long long n,a;int main(void){ cin>>n; a=3LL; while

2016-01-20 16:53:39 800

原创 Codeforces 392C Yet Another Number Sequence 题解&代码

这道题!我推了四个小时!公式! 不是这题真的好打击智商啊…实话,我看着别人十几分钟推完一脸轻松就觉得该AFO 好悲伤啊…数学能力果然差没得救(i+1)^k=C(k,k)(i^k)+C(k,k-1)(i^(k-1))……+C(k,0)(i^0) Ai(k)=Fi×(i^k)=F(i-1)(i^k)+F(i-2)(i^k) 设: u(i,k)=F(i)(i^k)=∑C(k,j)((i-1)^j

2016-01-20 16:39:36 737

原创 Codeforces 492E Vanya and Field 题解&代码

嘛,从最开始的gcd(n,dx)=gcd(n,dy)=1可以发现互素性质 这样的话很容易脑补出在n×n的方格中,存在着的我们找到的苹果树【?】一定是一列而不是多列【有点绕口 这样的话我们只要算偏移量就行啦 比如将经过(0,0)的一列斜率为dy/dx的直线偏移量设为0 那么经过(1,0)的直线偏移量为1 这样可以把二维的统计计算转化为一维 That’s all#include<iostre

2016-01-20 13:31:23 573

原创 CodeForces 327C Magic Five 题解&代码

其实挺水的?【并不 反正代码不长思路: 对于一个串,我们很容易知道对于某一位i是0或5,有2^i种选法【字符串从第0位开始,第i位确定】 一个串的选法也很容易求出,按顺序求出每一位的选法,加起来【设一个串有k种选法 对于多个串,第二个串的某一位i【对于该串的第i位】,有2^(strlen(s)+i)种选法,即(2^i)×(2^strlen(s))种选法。这样的话,选法之和可以提取为(2^st

2016-01-19 21:32:14 839

原创 Codeforces 338D GCD Table 题解&代码

来自中国剩余定理的恶意 我其实什么都不知道…直接看题解思路: 我们需要得到的是一个(x,y)组 其中x满足x%a[i]=0,y满足y%a[i]=1-i(对于所有a[]),这样就可以保证x是a[i]的最小公倍数且y+i-1是所有a[i]的倍数(同条件下得到的将是最小的y) 然后检验一下x和y是不是满足gcd(x,y+i-1)=ai…不满足说明我们求出的x和y是无效的,既然已得到的x和y无效,那

2016-01-19 21:08:23 923

原创 POJ1141 Brackets Sequence 题解&代码

= =POJ我PE居然是WA…伤心 路径处理那里改了好久= =#include<iostream>#include<stdio.h>using namespace std;string s;int len,temp,mind,dp[105][105],vis[105][105];void print(int l,int r){ if(l>r)return; if(l==

2016-01-08 20:26:01 584

原创 BZOJ 1088 [SCOI 2005] 扫雷Mine 题解&代码

我推了好久的dp啊= =一口老血喷出来 这个智商怎么救= =快告诉我怎么救#include<iostream>#include<stdio.h>using namespace std;const int maxn=10005;int n,ans,a[maxn],s[maxn];int cal(void){ for(int i=2;i<=n;i++) {

2016-01-08 13:00:13 629

原创 POJ1080 Human Gene Functions 题解&代码

卧槽为什么没人告诉我这个数列长度可以是0= =被教做人 我看到数列长度可以是0的时候【表情大概和下面这只陆夫人一样 #include<iostream>#include<stdio.h>using namespace std;int T,l1,l2,dp[105][105];char s1[105],s2[105];int d[5][5]={ {5,-1,-2,-1,-3},

2016-01-07 22:14:51 616

原创 POJ1050 To the Max 题解&代码

DP= =加上前缀和优化#include<iostream>#include<stdio.h>using namespace std;int n,ans,sum,a[105][105],s[105][105];int main(void){ scanf("%d",&n); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++)

2016-01-07 20:31:47 693

原创 POJ1014 Dividing 题解&代码

二进制优化写跪好几次感觉有点醉= =果然是好久没写dp都忘了#include<iostream>#include<stdio.h>#include<string.h>using namespace std;bool flag;int T,a[10],dp[60005],tot,now,temp,x;int main(void){ while(true) {

2016-01-07 18:14:03 646

原创 POJ1036 Gangsters 题解&代码

题意:有一个门,可以打开的大小在[0,k]之间(一定是整数),每秒打开大小可以变化至多1(即假如门时间t时打开了K,那么时间t+1时门的状态可以是K-1,K,K+1)。有n个人在不同的时间到达这个门,每个人有一个s,如果s等于门当前的大小,那么我们可以获得价值p,问最终我们可以获得的最大价值是多少。题解:不知道是聚聚不屑于做这种水题还是啥= =网上挂的题解那代码我有点看不下去…反正就这样 按时间先

2016-01-07 18:11:19 935

原创 Splay模板 初步修改完成

不算很慢= =也谈不上快 反正我觉得挺好记的…#include<iostream>#include<stdio.h>#include<string.h>#define INF 0x3f3f3f3fusing namespace std;const int maxn=500005;int n,m,r,c,pos,tot,temp;int val[maxn],fa[maxn],ch[ma

2016-01-05 21:06:14 794

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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