E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
CRB
hdu5407
CRB
and Candies 求逆元
//求LCM(C(n,0),C(n,1),C(n,2),...,C(n,n)) //令an=LCM(C(n,0),C(n,1),C(n,2),...,C(n,n)) //b[n]=LCM(1,2,3,...,n) //a[n]=(b[n]+1)/n+1 //if(n=p^k)bn=p*(b[n−1])elseb[n]=b[n−1] #include #include #include usingn
cq_pf
·
2015-08-30 19:00
hdu5414
CRB
and String 模拟
//给两个字符串s和t //对于字符串s可以在s中任意一个字符c,在其后面加上d(d!=c) //问s是否能转换为t //满足两个条件 //1:对于s中的所有的字符t都有 //2:对于s和t的第一个字符要相同且s中连续的个数要大于等于t #include #include #include usingnamespacestd; constintmaxn=1e5+10; charstr1[maxn]
cq_pf
·
2015-08-30 18:00
hdu5410
CRB
and His Birthday 多重背包
//n个物品,容量为m //每个物品1个占用空间为w //如果第i个物品选了k(k>0)个,所得权值为k*a+b //求最大权值 //多重背包,需要用二进制数优化 #include #include #include usingnamespacestd; constintmaxn=2010; intdp[maxn][maxn]; intmain() { //freopen("in.txt","r"
cq_pf
·
2015-08-29 19:00
hdu 5406
CRB
and Apple 求两个不相交的不下降子序列之和最大
题意很简单。就不说了。。可以用费用流来做。。建图:对于每个点u,都拆开为两个点u和u′,u表示入u′表示出1.u->u′两条边,一条边的流量为1,费用为-1,一条边的流量为1,费用为0,代表这个点能走两次,但只计算一次的量。2.u′->v若是从u可以走到v,则连边,流量为2,费用为0,这里可以优化掉大量的边,如果u->vv->x那么u->x就没有必要了。3.st->u流量为1,费用为04.u′->
CHCXCHC
·
2015-08-29 12:00
费用流
建图
hdu 5411
CRB
and Puzzle 矩阵快速幂
题意:有n种数量无限的方块,每种方块后可以拼接另一个方块,但是只能拼接给定种类的方块,问最多拼接M次能拼接出多少种不同的样式。这道题中n只有50,很容易想到矩阵快速幂,毕竟这种题已经烂大街了。然而比赛的时候我居然没有读到这道题!!!!!重点在于构造转移矩阵,显然如果a后面可以拼接b,那么有tmp[a][b]=1;代表a->b有一种转移方式,构造完了之后,对这个矩阵自乘m次,那么矩阵的结果tmp′[
CHCXCHC
·
2015-08-26 14:00
快速幂
矩阵乘法
hdu5412--
CRB
and Queries(整体二分)
题目链接:点击打开链接题目大意:给出n个数的初始序列,有两种操作,1lv将第l个数换成v,2lrk问在区间[l,r]内的第k大是多少,并输出经典的题目,但是树状数组+主席树(TLE)伸展树(MLE),听说他们用的块状链表,zhazha表示不会,后来补题,发现整体二分是一个好方法。首先,这个整体二分是将数据范围和操作放到一起,不断二分数据的范围,可以得到有某些操作可以被完成,有某些操作不可以被完成。
u013015642
·
2015-08-26 08:00
hdu 5413
CRB
and Roads 位运算优化复杂度
题意:给一个包含n个点m条边的无环单向简单图,然后问有多少条多余边。(u,v)是多余边当且仅当u−>v不经过(u,v)这条边。都说了是无环单向图。因此很容易想到拓扑排序:对于当且点u,如果存在(u,v),v可以由u通过另一条路径到达,那么(u,v)这条边就是多余边,但是这样暴力下来复杂度大概是O(n∗(n+m)),然后再乘以一个T(T≤20),就T了。。我的第一个想法是这么做的。然后交上去真的T了
CHCXCHC
·
2015-08-25 20:00
位运算
bitset
hdu 5412
CRB
and Queries(动态区间第k大值,区间能修改)(整体二分,树状数组套平衡树,线段树套treap)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5412解题思路:官方题解:Inthisproblem,wecanuseBITandTreap.WeuseBITforcodingskillandeachelementofBITisTreap.First,foreachcodingskill,whoseindexcanbeaddedforBIT.Soea
piaocoder
·
2015-08-25 17:00
整体二分
线段树套treap
树状数组套平衡树
hdu 5414
CRB
and String(贪心)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5414解题思路:官方题解:Letusassumethat ss canbeconvertedinto tt.Obviously, ss mustbesubsequenceof tt.Wecancheckthisinlineartime.And,wealsoconsiderstateofthefirstc
piaocoder
·
2015-08-25 16:00
贪心
hdu 5410
CRB
and His Birthday(01背包+完全背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5410解题思路:官方题解:Weusedynamicprogrammingtogetoptimalsolution.Presentswithsamepricescanbeconsideredingroups.Ineachgroup,itisneededtogetthemaximumnumberofcand
piaocoder
·
2015-08-25 15:00
01背包
完全背包
【DP】 HDOJ 5410
CRB
and His Birthday
先做一遍01背包,再做一遍多重背包。#include usingnamespacestd; typedeflonglongLL; constintmaxn=2005; intdp[maxn]; voidwork() { intn,m; memset(dp,0,sizeofdp); scanf("%d%d",&n,&m); while(m--){ inta,b,c; scanf("%d%d%d"
blankcqk
·
2015-08-25 10:00
dp
HDOJ 5416
CRB
and Tree
点分治的做法很好想,但是会超时。对于这个题,找一个点dfs,统计异或值的个数就行了。。#include usingnamespacestd; typedeflonglongLL; constintmaxn=100005; constintmaxm=200005; structEdge { intv,w; Edge*next; }E[maxm],*H[maxn],*edges; intcnt[
blankcqk
·
2015-08-25 10:00
hdu 5409
CRB
and Graph 边双连通分量
题意:给一个n个点m条边的无向图,对于每一条边,输出删掉这条边后不连通的两个点,如果有多个,输出最大的u和最小的v(u #include #include #include #include #include #include #include #include #include #include usingnamespacestd; typedeflonglongLL; constintMAXN
CHCXCHC
·
2015-08-24 22:00
桥
边双连通分量
重建图
[HDU 5410]
CRB
and His Birthday[01、完全背包]
题目链接:[HDU5410]CRBandHisBirthday[01、完全背包]题意分析:有m的钱,n种商品,每种价格w[i],购买了i种商品x个的话,商店会赠送糖果:a[i]*x+b[i]个(x>0)。那么,最多能得到多少糖果呢?解题思路:首先考虑b[i]的存在,b[i]只会出现在购买了一次商品时用上,用01背包处理,然后01背包处理完后,可以接着跑一遍多重背包,这次仅考虑a[i]对最终结果的影
CatGlory
·
2015-08-24 00:00
dp
HDU
HDU5407
CRB
and Candies 数论
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5407题目大意:给出一个整数n,我们想知道LCM[C(n,0),C(n,1),...,C(n,n)]%mod的值。分析:对于函数a(n)=LCM[C(n,0),C(n,1),...,C(n,n)]和函数b(n)=LCM[1,2,3,...,n],我们有a(n)=b(n)/(n+1)其中,对于b(n),我
AC_Gibson
·
2015-08-23 12:00
HDOJ 5409
CRB
and Graph 无向图缩块
无向图缩块后,以n所在的块为根节点,dp找每块中的最大值.对于每个桥的答案为两块中的较小的最大值和较小的最大值加1CRBandGraphTimeLimit:8000/4000MS(Java/Others) MemoryLimit:65536/65536K(Java/Others)TotalSubmission(s):113 AcceptedSubmission(s):41Problem
u012797220
·
2015-08-22 21:00
hdu 5416
CRB
and Tree 求树上路径异或结果为s的有多少
题意:给一颗树,定义f(u,v)为u到v路径上的异或结果,现在给定s,要求异或结果为s的路径有多少条。(1,2)和(2,1)只算一种。根据异或的特性有f(u,v)=f(1,u)^f(1,v),先把f(1,i)的所有i都求出,然后对于每一个u(1~n)如果有f(u,v)=s的话那么有f(1,v)=s^f(1,u),所以求一下f(1,v)有多少个,加起来就行了,最后要特殊讨论下s==0的情况。//au
CHCXCHC
·
2015-08-22 18:00
树
DFS
模拟 hdu5414
CRB
and String
传送门:点击打开链接题意:定义一次操作,可以在任意一个字符a后面插入一个不等于a字符的任意字符。问是否能将s串变成t串思路:感觉这种构造和模拟的题目做少了Orz首先我们可以发现,如果是开头,第一个字符必须要一样,设第一个字符为f那么前面连续的如果两个都等于f,就把指针都后移,直到两个中的某一个指针到末了,或者两者不再相等,才跳出循环然后判断是否是指针到末端了,对于i和j到末端的判断不一样,需要仔细
qwb492859377
·
2015-08-22 17:00
HDU 5410
CRB
and His Birthday
2015年多校的最后一场的一道题目,感觉还不错! 这是一道很好的dp,看起来像多重背包,但是仔细一看又不是,题意是第一次取话价值是A[i]+B[i],后来的价值就变成了A[i],价值是一个线性的变化规则,比赛的时候太渣了,以为只要直接多重背包就好了,结果一直WA,赛后看题解也没太弄明白,最后看了别人的一组数据,恍然大悟,下面就通过那组数据来分析这道题目的坑点. 1 100
u014142379
·
2015-08-22 15:00
dp
HDU
多校
hdu 5412
CRB
and Queries 求动态区间第k小 树套树
题意:给n个数,然后有两个操作1.把第i个点的值修改为v2.求[l,r]区间内第k小的数树状数组+平衡树。我写了两份代码:树状数组+SBT和树状数组+Treap代码://author:CHC //FirstEditTime:2015-08-2014:10 #pragmacomment(linker,"/STACK:102400000,102400000") #include #include #i
CHCXCHC
·
2015-08-22 15:00
sbt
树状数组
区间第k值
异或前缀和+DFS hdu5416
CRB
and Tree
传送门:点击打开链接题意:给你一棵树,然后Q个问题,每个问题询问有存在多少个f(u,v)等于s其中u #include #include #include #include #include #include #include #include #include #include #include #defineFINfreopen("input.txt","r",stdin) #defineFO
qwb492859377
·
2015-08-22 14:00
hdu 5412
CRB
and Queries 2015多校联合训练赛#10 分治 求区间第k大数
CRBandQueriesTimeLimit:12000/6000MS(Java/Others) MemoryLimit:131072/131072K(Java/Others)TotalSubmission(s):636 AcceptedSubmission(s):162ProblemDescriptionThereare N boysinCodeLand.Boy i hashisco
firenet1
·
2015-08-22 11:00
分治
HDU
and
Queries
CRB
5412
2015多校联合训练赛#10
求区间第k大数
HDOJ 5406
CRB
and Apple 树状数组优化DP
dp[i][j]表示一个人吃了第i个另一个人吃了第j个时最多可以吃多少个苹果.dp[i][j]=max(max(dp[i][k]),max(dp[k][j]))+1可以用树状数组快速的求出dp[i]的某一段的最大值CRBandAppleTimeLimit:12000/6000MS(Java/Others) MemoryLimit:65536/65536K(Java/Others)TotalS
u012797220
·
2015-08-22 10:00
2015多校联合第十场 hdu5414
CRB
and String字符串思维题
ProblemDescription CRBhastwostringssandt. Ineachstep,CRBcanselectarbitrarycharactercofsandinsertanycharacterd(d≠c)justafterit. CRBwantstoconvertstot.Butisitpossible?Input Therearemultipletestcases.The
zhou_yujia
·
2015-08-21 23:00
String
HDU
多校
hdu 5416
CRB
and Tree(暴力)
题目链接:hdu5416CRBandTreedfs一遍,处理出每个位置到根的路径权值亦或和,W(u,v)=W(u,root)^W(v,root),统计所有W(u,root)的情况数,对于每个询问值s,枚举u,ans加上W(u,root)^s的情况数(Q值比较小)。注意s=0的情况。#include #include #include #include usingnamespacestd; typ
u011328934
·
2015-08-21 22:00
hdu 5414
CRB
and String(贪心)
题目链接:hdu5414CRBandString减掉两串开头部分相同的地方,并且如果开头部分不一样或者是t串的要比s串的长即为不可行(s=aabb,t=aaabb),后面部分分情况匹配,最后s串有剩即为不可行。#include #include #include usingnamespacestd; constintmaxn=1e5+5; chars[maxn],t[maxn]; boolj
u011328934
·
2015-08-21 22:00
hdu 5412
CRB
and Queries(线段树套笛卡尔树 - 动态区间第k大)
题目链接:hdu5412CRBandQueries首先对所有出现过的值排序,建立线段树,每个线段树的节点是一棵笛卡尔树,笛卡尔树记录区间下标值。#include #include #include #include usingnamespacestd; #definelson(x)(xp)returncount(nd[u].ch[0],p); returnnd[u].cnt+nd[nd[u].
u011328934
·
2015-08-21 22:00
hdu 5411
CRB
and Puzzle(矩阵快速幂)
题目链接:hdu5411CRBandPuzzle根据给定边都建矩阵,并且再加上一个终止符,所有puzzle可以指向终止符。#include #include #include usingnamespacestd; constintmaxn=55; constintmod=2015; structMat{ intr,c,arr[maxn][maxn]; Mat(intr=0,intc=0):r(
u011328934
·
2015-08-21 22:00
hdu 5410
CRB
and His Birthday(背包)
题目链接:hdu5410CRBandHisBirthday对于每个礼物,第一次买是01背包,以后就是完全背包。#include #include #include usingnamespacestd; constintmaxn=2005; constintinf=0x3f3f3f3f; intN,M,dp[maxn]; intmain(){ intcas; scanf("%d",&cas);
u011328934
·
2015-08-21 22:00
hdu 5407
CRB
and Candies(数论)
题目链接:hdu5407CRBandCandiesans=LCM(1~N+1)/(N+1)%mod#include #include #include usingnamespacestd; typedeflonglongll; constintmaxn=1e6+5; constintmod=1000000007; intnc,vis[maxn],fac[maxn],F[maxn]; void
u011328934
·
2015-08-21 22:00
hdu 5406
CRB
and Apple(树状数组+dp)
题目链接:hdu5406CRBandApple将树按照高度从大到小排序,高度相同的美味值小的放前面。然后高度值就没有用了,等于说对得到的美味值序列求两个不相交的LIS,使得长度和尽量长。对序列元素离散化后,dp[i][j]表示说两个序列的终止位置分别为i,j的最大长度。从左向右考虑每个美味值,复杂度o(n)。对于一个值c,更新dp数组,枚举第一维状态i,复杂度o(n)。dp[i][c]=dp[c]
u011328934
·
2015-08-21 22:00
hdu5414
CRB
and String
ProblemDescriptionCRBhastwostrings s and t.Ineachstep,CRBcanselectarbitrarycharacter c of s andinsertanycharacter d (d ≠ c)justafterit.CRBwantstoconvert s to t.Butisitpossible? InputTherearemultiplete
Kirito_Acmer
·
2015-08-21 21:00
HDU
多校
hdu 5407
CRB
and Candies(乘法逆元+快速幂)
题意:求lcm(C0n,C1n,...,Cnn)=?解析:打表了发现规律是lcm(1,2,3,……n,n+1)/(n+1)然而lcm怎么求呢?可以发现随着n的增长好多最小公倍数都是不变的,增长的位置都发生在有新的质因子产生或者原本质因子的次数增大的地方。所以首先找出1~100000的所有质数,ans=∑⌊login⌋,其中0#include#include#includeusingnamespac
HelloWorld10086
·
2015-08-21 19:03
数论
hdu 5407
CRB
and Candies(乘法逆元+快速幂)
题意:求lcm(C0n,C1n,...,Cnn)=?解析:打表了发现规律是lcm(1,2,3,……n,n+1)/(n+1)然而lcm怎么求呢?可以发现随着n的增长好多最小公倍数都是不变的,增长的位置都发生在有新的质因子产生或者原本质因子的次数增大的地方。所以首先找出1~100000的所有质数,ans=∑⌊login⌋,其中0 #include #include #include usingname
HelloWorld10086
·
2015-08-21 19:00
HDU
5407
hdu 5411
CRB
and Puzzle(矩阵快速幂)
题意:给一个有向图,从任意点开始,最多走m步,求形成的图案总数。思路:令dp[i][j]表示:走j步最后到达i的方法数,则dp[i][j]=∑dp[k][j−1],其中k表示:走j步可以直接到达i的点。ans=∑dp[i][j]。此题的关键在于,如何减少状态转移的时间,考虑用矩阵加速。D=⎛⎝⎜⎜⎜⎜⎜⎜a[1][1]a[2][1]a[3][1]......a[1][2]a[2][2]......
HelloWorld10086
·
2015-08-21 19:00
HDU
5411
HDU 5410
CRB
and His Birthday(01背包+完全背包)
题意:
CRB
生日,妈妈要给他买礼物,妈妈有M元钱,这家店有N种礼物,因为店长和妈妈是熟人,所以若第i种礼物买x件的话,店长会给妈妈Ai*x+Bi颗糖果,现给出每种礼物的单价、Ai值与Bi值,问妈妈最多能拿到多少颗糖果
HelloWorld10086
·
2015-08-21 19:00
HDU
5410
HDOJ 5409
CRB
and Graph
从n开始做tarjan,如果一条边不是桥,那么就输出00,否则求子树的最大编号。。。#include usingnamespacestd; typedeflonglongLL; #definemp(x,y)make_pair(x,y) constintmaxn=100005; constintmaxm=200005; structEdge { intv,next; Edge(intv=0,in
blankcqk
·
2015-08-21 19:00
桥
hdu 5414
CRB
and String(想法题)
题意:给你两个字符串s和t,你可以在字符串s中任意选一个字符c,在该字符c后插入一个字符d(d!=c),问经过多次此操作,能否将字符串s转化成字符串t。解析:不要想太复杂了,分情况讨论清楚就好了。1.如果|s|>|t|,那么无论怎么组合都是无法构成t的。2.如果s[0]!=t[0],无论怎么组合,也都是无法构成t的。3.以上两种情况比较好考虑,然后找两个串的最长公共前缀。如果s的最长公共前缀等于|
HelloWorld10086
·
2015-08-21 19:00
HDU
5414
hdu 5412
CRB
and Queries(树套树模板,区间第K大)
题意:给出一串数字,然后给出两种操作:1.1LV操作一:把下标为L的点的值替换为V2.2LRK操作二:在[L,R]区间求第K大解析:本模板转载自http://blog.csdn.net/u012860063/article/details/47813079mycode#include#include#includeusingnamespacestd;constintINF=0x3f3f3f3f;c
HelloWorld10086
·
2015-08-21 19:21
线段树
hdu 5412
CRB
and Queries(树套树模板,区间第K大)
题意:给出一串数字,然后给出两种操作:1.1LV操作一:把下标为L的点的值替换为V2.2LRK操作二:在[L,R]区间求第K大解析:本模板转载自http://blog.csdn.net/u012860063/article/details/47813079mycode#include #include #include usingnamespacestd; constintINF=0x3f3f3f
HelloWorld10086
·
2015-08-21 19:00
HDU
5412
CRB
and String
CRBandStringTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/65536K(Java/Others)TotalSubmission(s):543AcceptedSubmission(s):208ProblemDescriptionCRBhastwostringssandt.Ineachstep,CRBcanselectarbitra
huayunhualuo
·
2015-08-21 18:00
LCM性质 + 组合数 - HDU 5407
CRB
and Candies
CRBandCandiesProblem'sLink: http://acm.hdu.edu.cn/showproblem.php?pid=5407 Mean: 给定一个数n,求LCM(C(n,0),C(n,1),C(n,2)...C(n,n))的值.(其中n#include#include#include#include#include#include#include#include#incl
crazyacking
·
2015-08-21 16:00
hdu 5407
CRB
and Candies 2015多校联合训练赛#10 找规律 素数筛法
CRBandCandiesTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/65536K(Java/Others)TotalSubmission(s):402AcceptedSubmission(s):185ProblemDescriptionCRBhasNdifferentcandies.HeisgoingtoeatKcandies.Hewo
GDRetop
·
2015-08-21 16:03
##ACM-ICPC编程题
##数学
hdu 5407
CRB
and Candies 2015多校联合训练赛#10 找规律 素数筛法
CRBandCandiesTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/65536K(Java/Others)TotalSubmission(s):402 AcceptedSubmission(s):185ProblemDescriptionCRBhas N differentcandies.Heisgoingtoeat K
firenet1
·
2015-08-21 16:00
HDU
and
Candies
找规律
CRB
素数筛法
2015多校联合训练赛#10
5407
【HDOJ 5407】
CRB
and Candies (大犇推导
【HDOJ5407】CRBandCandies赛后看这题题解只有满眼的迷茫………………g(N) = LCM(C(N,0),C(N,1),...,C(N,N)) f(n)\=\LCM(1,2,...,n)f(n) = LCM(1,2,...,n),thefact g(n)\=\f(n+1)/(n+1)g(n) = f(n+1)/(n+1)f(n)\=\LCM(1,2,...,n)f(1)=1If n
ChallengerRumble
·
2015-08-21 16:00
HDOJ 5416
CRB
and Tree DFS
CRBandTreeTimeLimit:8000/4000MS(Java/Others) MemoryLimit:65536/65536K(Java/Others)TotalSubmission(s):690 AcceptedSubmission(s):221ProblemDescriptionCRBhasatree,whoseverticesarelabeledby1,2,…, N.
u012797220
·
2015-08-21 16:00
CRB
and His Birthday(背包)
CRBandHisBirthdayTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/65536K(Java/Others)TotalSubmission(s):357AcceptedSubmission(s):191ProblemDescriptionTodayisCRB’sbirthday.Hismomdecidedtobuymanypres
huayunhualuo
·
2015-08-21 16:00
【DP】 HDOJ 5406
CRB
and Apple
用树状数组优化DP。。。。#include usingnamespacestd; typedeflonglongLL; #definelowbit(x)(x&(-x)) constintmaxn=1005; inttree[maxn][maxn]; paira[maxn]; intt[maxn],y[maxn],n,cnt; intcmp(pairaa,pairbb) { if(aa.fir
blankcqk
·
2015-08-21 16:00
dp
HDU 5407
CRB
and Candies (2015年多校比赛第10场)
1.题目描述:点击打开链接2.解题思路:本题要求LCM(C(n,0),C(n,1),...,C(n,n)),官方题解是转化为求解LCM(1,2,3,...n+1)/(n+1),然而这种做法还是觉得太陌生,不妨试着用学过的唯一分解定理去做。首先,求这n+1个数的LCM,实际上就是求所有小于n的素数中,对于每一个素数Pi,哪一项的指数最大,然后把他们连乘起来即可得到LCM值。因此,问题转化为确定每一个
u014800748
·
2015-08-21 15:00
数论
LCM
组合数去摸
hdu 5416
CRB
and Tree 2015多校联合训练赛#10 枚举
CRBandTreeTimeLimit:8000/4000MS(Java/Others) MemoryLimit:65536/65536K(Java/Others)TotalSubmission(s):628 AcceptedSubmission(s):198ProblemDescriptionCRBhasatree,whoseverticesarelabeledby1,2,…, N.
firenet1
·
2015-08-21 15:00
枚举
tree
HDU
and
CRB
2015多校联合训练赛#10
5416
上一页
1
2
3
4
5
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他