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
HAOI
题解 P4491 【[
HAOI
2018]染色】
题解-P4491\mathrm{P4491}P4491题目意思题目传送门Sol\mathrm{Sol}Sol二项式反演题我们按套路设fif_{i}fi表示钦定有iii个颜色数为SSS的方案数。gig_igi表示恰好有iii个颜色数为SSS。那么ans=∑i=0mgi×wians=\sum_{i=0}^{m}g_i\timesw_ians=∑i=0mgi×wigi=∑j=imin(m,ns)fj×
wangyiyang2
·
2020-08-02 14:22
多项式
各省省选
二项式反演
1041: [
HAOI
2008]圆上的整点
题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1041题目大意:求一个给定的圆(x^2+y^2=r^2),在圆周上有多少个点的坐标是整数。题解:∵x^2+y^2=r^2∴x^2=r^2-y^2∴x^2=(r-y)(r+y)设d=gcd(r-y,r+y);r-y=d*a^2;r+y=d*b^2;(ausingnamespacestd;ty
何世全
·
2020-08-01 10:23
bzoj
数论
BZOJ系列1041《[
HAOI
2008]圆上的整点》题解
Description求一个给定的圆(x^2+y^2=r^2),在圆周上有多少个点的坐标是整数。InputrOutput整点个数SampleInput4SampleOutput4HINTn#include#include#include#includeusingnamespacestd;typedeflonglongll;llR,ans=0;llgcd(lla,llb){returnb==0?a:
Dante__Alighieri
·
2020-08-01 10:48
BZOJ
BZOJ 1041 [
HAOI
2008] 圆上的整点 题解与分析
[
HAOI
2008]圆上的整点TimeLimit:10SecMemoryLimit:162MBDescription平面上有一个圆,圆心坐标为(0,0),半径为n.问圆周上有多少个整点.整点的定义即x,
csyzcyj
·
2020-08-01 09:57
题库
BZOJ(大视野测评)
BZOJ P4033 LOJ 2124 [
HAOI
2015] 树上染色【树形DP+背包】
题目分析(以下的MM都是题目当中输入的KK):树形DPDP(好吧这是废话)。我们按照树形DPDP的套路(啥?你不知道树形DP的套路?)很容易得出这道题的状态设定:DP[I][J]DP[I][J]表示以II为根的子树当中涂了JJ个黑点的最大收益JYX−>Y,白点同此。这样我们就将需要计算的距离转化为了某一条边的计算,这样就方便了我们的转移。于是就可以得到下面的状态转移方程了(其实是一个树上背包的过程
Riypo_Yian
·
2020-08-01 07:04
LOJ
动态规划-树形DP
动态规划-背包DP
BZOJ
动态规划与递推
bzoj4033[
HAOI
2015] 树上染色 dp
文章目录bzoj树上染色题意:分析:bzoj树上染色题意:给定一棵n个点的树,把其中k个染成黑色,定义价值为黑色节点两两之间的距离和+白色节点两两之间的距离,求最大价值分析:树上dptypedefpairP;LLN,K;constLLmaxn=2000+10;std::vectorG[maxn];LLsize[maxn];LLdp[maxn][maxn];LLtmp[maxn];voiddfs(L
海边拾贝的言
·
2020-08-01 05:53
动态规划
[2019.2.28]BZOJ4033 [
HAOI
2015]树上染色
首先我们设\(dp_{i,j}\)表示\(i\)和的子树中,有\(j\)个黑色节点的最大边权和。我们设\(i\)当前已合并的子树大小为\(sz_i\)。现在我们要合并节点\(x\)和它的子节点\(y\)。我们考虑\(x\)和\(y\)之间的边对答案的贡献。这个贡献就是这条边[(一侧的黑点数\(\times\)另一侧的黑点数)+(一侧的白点数\(\times\)另一侧的白点数)]\(\times\)
weixin_33911824
·
2020-08-01 04:05
BZOJ4033
HAOI
2015 树上染色 【树上背包】
BZOJ4033
HAOI
2015树上染色Description有一棵点数为N的树,树边有边权。给你一个在0~N之内的正整数K,你要在这棵树中选择K个点,将其染成黑色,并将其他的N-K个点染成白色。
weixin_30674525
·
2020-08-01 03:07
【
HAOI
2015】树上染色
【
HAOI
2015】树上染色这题思路好神仙啊,首先显然是树形dp,f[i][j]表示在以i为根的子树中选j个黑点对答案的贡献(并不是当前子树最大值),dp时只考虑i与儿子连边的贡献。
weixin_30312563
·
2020-08-01 03:37
HAOI
2015 树上染色
一棵带边权的树,你需要把$k$个点染成黑色,剩下的染成白色,你会获得黑点间两两间距离之和+白点间两两距离之和的收益求收益最大值$n\leq5000$sol:树形dp显然一条边的贡献是$边权\times(左边白色\times右边白色+左边黑色\times右边黑色)$$f_{(x,i)}$表示$x$子树内选了$i$个黑点,子树里的边对全局答案的贡献然后我们按树上背包转移,转移的时候加的贡献其实是一条父
baochen3674
·
2020-07-31 16:33
[
HAOI
2015]树上染色 [洛谷]3177
题目描述有一棵点数为N的树,树边有边权。给你一个在0~N之内的正整数K,你要在这棵树中选择K个点,将其染成黑色,并将其他的N-K个点染成白色。将所有点染色后,你会获得黑点两两之间的距离加上白点两两之间的距离的和的受益。问受益最大值是多少。N≤2000思路像这种题目其实是一个套路。在树上这种“两两之间”计算贡献和的问题,都拆开看每条边的贡献。(脑煜勋告诉我的,脑煜勋真是太厉害了吧)然后无根树转有根树
WT_cnyali
·
2020-07-31 15:44
树形结构
算法
Sol
DP
树形背包
4033: [
HAOI
2015]树上染色
4033:[
HAOI
2015]树上染色TimeLimit:10SecMemoryLimit:256MBSubmit:1462Solved:607[Submit][Status][Discuss]Description
CRZbulabula
·
2020-07-31 13:02
dp
树
BZOJ 4033: [
HAOI
2015]树上染色 树形dp
4033:[
HAOI
2015]树上染色TimeLimit:10SecMemoryLimit:256MBSubmit:1978Solved:853[Submit][Status][Discuss]Description
BlackJack_
·
2020-07-31 13:15
—————————树
—————————dp
背包dp
树形dp
[
HAOI
2015] 树上染色(树上背包) | 错题本
文章目录题目分析代码题目[
HAOI
2015]树上染色(树上背包)分析考虑dp[u][i]dp[u][i]dp[u][i]表示uuu子树中有iii个黑点时,对答案的贡献,转移过程中计算边(u,v)(u,v
ixRic
·
2020-07-31 11:41
[
错题本
]
#
树形
DP
动态规划
背包问题
【loj#2524】【bzoj5303】 [
Haoi
2018]反色游戏(圆方树)
题目传送门:lojbzoj题意中的游戏方案可以转化为一个异或方程组的解,将边作为变量,点作为方程,因此若方程有解,方程的解的方案数就是2的自由元个数次方。我们观察一下方程,就可以发现自由元数量=边数-点数+连通块数,或者换句话说,若对原图的每个联通块指定一棵生成树,那么确定了生成树之外的边是否进行操作,那么生成树内的边的操作方案就是一定存在并唯一确定的。那么我们就只需要判断一下什么样的图无解。我们
weixin_30415113
·
2020-07-30 17:22
[颓废史]蒟蒻的刷题记录
1.11227:[SDOI2009]虔诚的墓主人树状数组+离散化3132:上帝造题的七分钟树状数组二维区间加减+查询3038:上帝造题的七分钟2线段树+剪枝1.21047:[
HAOI
2007]理想的正方形二维单调队列维护最值
ws_fqk
·
2020-07-30 07:50
Daily
life
(dp/单调队列、st表优化)P2216 [
HAOI
2007]理想的正方形
https://www.luogu.org/problemnew/show/P2216#sub有一个a*b的整数组成的矩阵,现请你从中找出一个n*n的正方形区域,使得该区域所有数中的最大值和最小值的差最小。in:5421256017160161721210211222out:1从a*b的矩阵里选出一个n*n的矩阵,使矩阵内最大值和最小值差值最小。我们可以想到分别求出矩阵的最小值和最大值求解我们用d
swpu_cd
·
2020-07-30 04:19
总结
BZOJ-1056: [
HAOI
2008]排名系统&1862: [Zjoi2006]GameZ游戏排名系统 题解
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1862**http://www.lydsy.com/JudgeOnline/problem.php?id=1056**思路:用一棵平衡树维护用户分数排名,然后用一棵Trie或者是HASH来维护用户ID。(看到P1862的内存64M果断放弃前缀树写HASH~~)(注:样例里的那些乱七八糟的注释还有
AmadeusChan
·
2020-07-29 22:15
bzoj4564: [
Haoi
2016]地图 仙人掌的圆方树 莫队 分块
bzoj4564:[
Haoi
2016]地图Description一天rin来到了一个遥远的都市。
lvzelong2014
·
2020-07-29 05:27
图论-Tarjan
分治结构-分块
[
HAOI
2006] 均分数据
题目描述:N个元素分M组,总方差最小题目分析:不会啊虽说大佬们都讲是个膜你退火但我感觉是个带贪心的随机乱搞!数据只有20我们每次就去搞随机分组。当然在初期温度很高的时候我们需要找一组方差最小的去换加入退火的可能去找更差解的随机,搞个10000-20000基本上就可以A了题目链接:BZOJ2428Luogu2503Ac代码:#include#include#include#include#inclu
HT008_123
·
2020-07-16 06:36
题目分析
膜你退火
[
HAOI
2008]糖果传递(洛谷P2512)
【题目描述】有n个小朋友坐成一圈,每人有ai个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为1。【数据范围】n#include#include#include#includeusingnamespacestd;#defineLLlonglongconstintN=1000000+5;LLa[N],b[N],s=0;intmain(){intn;scanf("%d",&n);for(i
jrxjs
·
2020-07-16 05:45
[BZOJ 2428][
HAOI
2006]均分数据(模拟退火)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2428思路模拟退火乱搞首先随机设定每个元素所在的组,然后求出初始的方差,然后开始退火,每次退火时首先随机选一个元素t,并得到它所在的组x,然后需要选一组y,把t放入组y中,选这个组y也要讲究技巧,若温度高的话,此时状态不稳定,很难使最终的搜索结果尽量更优,那么就需要贪心地选当前元素值之和最小的
我是傻叉
·
2020-07-16 04:14
BZOJ
各地省选题
传统题
随机化
近似化算法
Bzoj2428: [
HAOI
2006]均分数据
题面链接Sol模拟退火再做数列上的DPDP#include#defineRGregister#defineILinline#defineFill(a,b)memset(a,b,sizeof(a))usingnamespacestd;typedeflonglongll;constint_(1005);ILintInput(){RGintx=0,z=1;RGcharc=getchar();for(;c
Cyhlnj
·
2020-07-16 04:40
就是DP
模拟退火
洛谷P2512 [
HAOI
2008]糖果传递【贪心】
时空限制1000ms/128MB题目描述有n个小朋友坐成一圈,每人有ai个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为1输入格式:小朋友个数n下面n行ai输出格式:求使所有人获得均等糖果的最小代价。说明对于100%的数据n≤106n≤10^6n≤106题目分析学算法学傻了,一眼扫过去“woc费用流水题”然后开心的五分钟打完费用流,再然后。。就没有然后了设1给nk个1−>n:k
niiick
·
2020-07-16 03:26
1045: [
HAOI
2008] 糖果传递
#include#include#include#definelllonglongusingnamespacestd;intn,a[1000001],c[1000001],ave;llsum;intmain(){scanf("%d",&n);for(inti=1;i>1)+1];for(inti=1;i<=n;i++)ans+=abs(c[i]-mid);printf("%lld",ans);re
ndsffx501ccy
·
2020-07-16 03:02
数学
重走长征路---OI每周刷题记录---12月6日 2014
「bzoj1042」[
HAOI
2008]硬币购物计算几何+贪心:2.「bzoj1043」[
HAOI
2008]下落的圆盘树形d
mrcrack
·
2020-07-16 03:30
跟着大佬学算法
bzoj 2428 [
HAOI
2006]均分数据
Description已知N个正整数:A1、A2、……、An。今要将它们分成M组,使得各组数据的数值和最平均,即各组的均方差最小Solution这题一眼看不会做啊,这题肯定是乱搞题啊。。。一看这n≤20,想搜来着,然后感觉不太对。看了一眼别人的题解恍然大悟,模拟退火!真是长姿势了,以前总是拘泥于用退火做计算几何,没有深入理解退火的实质。真是tooyoung。先随机分组,然后随机选择一个元素x,当温
mlzmlz95
·
2020-07-16 03:01
bzoj题解
随机
模拟退火
bzoj 2428: [
HAOI
2006]均分数据
模拟退火;#include#definerep(i,k,n)for(inti=k;i0.1){T*=0.9;intt=rand()%n,y;intx=belong[t];if(T>500)y=min_element(sum,sum+m)-sum;elsey=rand()%m;if(x==y)continue;tmp=ans;ans-=(sum[x]*1.0-ave)*(sum[x]*1.0-ave
limboman
·
2020-07-16 02:03
BZOJ 1045: [
HAOI
2008] 糖果传递 数学,乱搞
Description有n个小朋友坐成一圈,每人有ai个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为1。Input第一行一个正整数nusingnamespacestd;constintN=1000010;inta[N],c[N];intn;intmain(){scanf("%d",&n);longlongave=0;for(inti=1;i<=n;i++){scanf("%d",&
just_sort
·
2020-07-16 01:31
ACM/ICPC_
BZOJ
BZOJ 糖果传递-(数论)
1045:[
HAOI
2008]糖果传递TimeLimit:10SecMemoryLimit:162MBSubmit:4093Solved:1969[Submit][Status][Discuss]Description
信仰..
·
2020-07-15 23:10
数论
[BZOJ1045][
HAOI
2008][贪心]糖果传递
[ProblemDescription]有n个小朋友坐成一圈,每人有ai个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为1。求使所有人获得均等糖果的最小代价。[Algorithm]贪心[Analysis]这是一个环形均分纸牌问题。用A[i]表示糖果数,tar表示目标的糖果数量。用X[i]表示从i+1移动到i的糖果的个数(可+可-)。由此可以得到式子A[i]+X[i]-X[i-1]=t
gaotianyu1350
·
2020-07-15 23:27
题解
P2503 [
HAOI
2006]均分数据
随机算法。真香!这道题一看上去好像很可怕的样子,根本想不出什么算法。全部情况都枚举一遍显然不可能,铁铁的T掉。没办法全都枚举,那就随机乱搞!我们可以使用std::ramdon_shuffle这个函数,每次打乱a数组,然后每一次添加数据的时候贪心地往当前组内和最小的加就是了。一次极小概率碰到正解,但这种随机算法你能跑200000次!必定得到最优答案。代码:#include#include#inclu
dianshu0741
·
2020-07-15 22:59
【BZOJ1045】【
HAOI
2008】糖果传递
Description有n个小朋友坐成一圈,每人有ai个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为1。Input第一行一个正整数nX2=ave-A1+X1=X1-C1(假设C1=A1-ave,下面类似)对于第2个小朋友,A2-X2+X3=ave->X3=ave-A2+X2=2ave-A1-A2+X1=X1-C2对于第3个小朋友,A3-X3+X4=ave->X4=ave-A3+X3
dcx2001
·
2020-07-15 22:44
贪心
BZOJ2428 [
HAOI
2006]均分数据(模拟退火算法)
【题解】随机10000次左右,每次随机生成初始分组情况,判断将某个元素移入另一组是否会更优,记录全局最优答案注意:1.自己用平方取中法弄的伪随机数,效果远不如系统函数rand()2.t*=0.9变为t*=0.99耗时远远超过solve()从10000次变为50000次3.随机打乱原数组【代码】拼RP终于AC了。。。#include#include#include#include#includedo
cjk_cjk
·
2020-07-15 21:21
近似算法
[
HAOI
2008]糖果传递
题目描述有n个小朋友坐成一圈,每人有ai个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为1。输入输出格式输入格式:小朋友个数n下面n行ai输出格式:求使所有人获得均等糖果的最小代价。输入输出样例输入样例#1:复制41254输出样例#1:复制4说明对于100%的数据n≤106n\le10^6n≤106首先每个人最后的糖果数是可以计算出来的,我们记其为$M$。假设有$4$个人,编号$1$
aoanping0730
·
2020-07-15 20:46
bzoj2428: [
HAOI
2006]均分数据
题目链接bzoj2428:[
HAOI
2006]均分数据题解模拟退火即可代码#include#include#include#includeconstintmaxn=100007;inta[maxn];doubleavr
agtvo48266
·
2020-07-15 20:10
数据结构与算法
[BZOJ2428][
HAOI
2006]均分数据
原题地址模拟退火.具体实现的过程中有一些小技巧,题解见http://blog.csdn.net/qpswwww/article/details/44161053ACcode:#include#include#include#includetypedefdoublellf;constintN=101;constintTIME=5000;constllfINF=2147483647;intn,m;in
Zvezda_
·
2020-07-15 19:57
BZOJ
搜索_模拟退火
BZOJ 2428 [
HAOI
2006]均分数据 模拟退火
题目大意:已知N个正整数:A1、A2、……、An。今要将它们分成M组,使得各组数据的数值和最平均,即各组的均方差最小。模拟退火乱搞…这个参数真的是玄学…#include#include#include#defineN25#defineINF1e20usingnamespacestd;inlineintRAND(){return/*(rand()1e-5;T*=0.75){last=now;intx
YihAN_Z
·
2020-07-15 19:45
模拟退火
bzoj2428 [
HAOI
2006]均分数据 模拟退火
题目大意:把n个数分成m组,要求分的尽量平均,即方差最小,求这个方差。题目分析:http://blog.csdn.net/lych_cys/article/details/50843232我们先随机一个答案,设置一个温度,然后把其中一个数从原来的分组中拿出来,随机放到另一个分组中,并计算答案,如果答案更优,就接受,否则就以一定概率(温度越高概率越大)接受这个答案,并且慢慢降温。因为模拟退火很有可能
Todobe
·
2020-07-15 19:19
bzoj
模拟退火
BZOJ2428[
HAOI
2006] 均分数据
原题链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2428均分数据Description已知N个正整数:A1、A2、……、An。今要将它们分成M组,使得各组数据的数值和最平均,即各组的均方差最小。均方差公式如下:σ=∑i=1M(xi−x‾)2M\sigma=\sqrt{\frac{\sum_{i=1}^M(x_{i}-\overline{x}
ShadyPi
·
2020-07-15 18:56
模拟退火
杂============
数论&数学========
随机化
BZOJ2428: [
HAOI
2006]均分数据 模拟退火
题意:N个数分成M组,要求均方差最小N#include#include#includeusingnamespacestd;intn,m;intw[20],a[20][21],t[20],sum[20],pos[20];inlinedoubleF(){intasum=0;for(inti=0;i1e-10){ele=rand()%n;if(T>1e2)aim=greedy_choice();else
Mima_Reincarnation
·
2020-07-15 18:56
模拟退火
BZOJ做题纪录
【bzoj2428】[
HAOI
2006]均分数据
2428:[
HAOI
2006]均分数据TimeLimit:5SecMemoryLimit:128MBSubmit:2944Solved:916[Submit][Status][Discuss]Description
Joky_2002
·
2020-07-15 17:00
模拟退火
[BZOJ1045] [
HAOI
2008] 糖果传递 [结论]
link如果不是圈,可以从1∼n\mathfrak{1\thicksimn}1∼n递推规定一个标准传递方向,可以把顺方向的传递记作正权,反方向记作负权。每一步把temp\mathfrak{temp}temp(初始化为0\mathfrak{0}0)累加上ai−a‾\mathfrak{a_i-\overline{a}}ai−a,ans\mathfrak{ans}ans(初始化为0\mathfrak{0
ukii_
·
2020-07-15 17:20
BZOJ
结论
[bzoj1045][
HAOI
2008] 糖果传递【构造】
【题目链接】http://www.lydsy.com/JudgeOnline/problem.php?id=1045【题解】记X[i]X[i]为从第ii堆向第i+1i+1堆转移的数量。(第nn堆转移到11)那么有a[i]−X[i]+X[i−1]=averagea[i]−X[i]+X[i−1]=averageX[i]=a[i]+X[i−1]−averageX[i]=a[i]+X[i−1]−avera
VanishD
·
2020-07-15 17:05
【构造】
【
HAOI
2006】【BZOJ2428】均分数据
Description已知N个正整数:A1、A2、……、An。今要将它们分成M组,使得各组数据的数值和最平均,即各组的均方差最小。均方差公式如下:,其中σ为均方差,是各组数据和的平均值,xi为第i组数据的数值和。Input第一行是两个整数,表示N,M的值(N是整数个数,M是要分成的组数)第二行有N个整数,表示A1、A2、……、An。整数的范围是1–50。(同一行的整数间用空格分开)Output这一
CreationAugust
·
2020-07-15 17:22
随便搞搞
丧心病狂
模板题库
BZOJ 2428: [
HAOI
2006]均分数据
2428:[
HAOI
2006]均分数据TimeLimit:5SecMemoryLimit:128MBSubmit:2183Solved:680[Submit][Status][Discuss]Description
BlackJack_
·
2020-07-15 16:23
—————————看心情
爬山算法
模拟退火
BZOJ 1045/1465: [
HAOI
2008] 糖果传递
转载自:http://hzwer.com/2656.html我敬爱的黄学长【bzoj1045/1465】[
HAOI
2008]糖果传递Description老师准备了一堆糖果,恰好n个小朋友可以分到数目一样多的糖果
BlackJack_
·
2020-07-15 16:23
—————————数学
[
HAOI
2006]均分数据
题目链接经过了14次的提交,终于正大光明的把本题A掉了。。。。算法:主要思想是模拟退火,具体操作就是,我们对于每一个生成的排列,用连续分组DP处理此情况下的最小均方差。dp[i][j]表示前i个数中分j组的最小均方差,dp[i][j]=min(dp[i][j],dp[k-1][j-1]+prefix[i]-prefix[j-1]-prefix[n]/m(1usingnamespacestd;#de
ZGS_WZY
·
2020-07-15 16:49
模拟退火
DP
洛谷P2503 [
HAOI
2006]均分数据(模拟退火)
题目描述已知N个正整数:A1、A2、……、An。今要将它们分成M组,使得各组数据的数值和最平均,即各组的均方差最小。均方差公式如下:输入输出格式输入格式:输入文件data.in包括:第一行是两个整数,表示N,M的值(N是整数个数,M是要分成的组数)第二行有N个整数,表示A1、A2、……、An。整数的范围是1--50。(同一行的整数间用空格分开)输出格式:输出文件data.out包括一行,这一行只包
weixin_33860528
·
2020-07-15 15:58
BZOJ2428: [
HAOI
2006]均分数据
BZOJ2428:[
HAOI
2006]均分数据Description已知N个正整数:A1、A2、……、An。今要将它们分成M组,使得各组数据的数值和最平均,即各组的均方差最小。
weixin_30848775
·
2020-07-15 15:43
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他