当前位置: 首页 > news >正文

建筑公司网站石家庄中国十大装修公司排名

建筑公司网站石家庄,中国十大装修公司排名,代理网址怎么设置,网站建设中 敬请期待怎么解决题意#xff1a;一个魔塔游戏的地图是一棵以 111 为根的树#xff0c;起点为根#xff0c;除根外每个结点有一个怪物#xff0c;给定每个怪物血量、攻击、防御、奖励蓝宝石个数#xff08;加防御#xff09;#xff0c;勇士的血量、攻击、防御#xff0c;遇到怪物必须战…题意一个魔塔游戏的地图是一棵以 111 为根的树起点为根除根外每个结点有一个怪物给定每个怪物血量、攻击、防御、奖励蓝宝石个数加防御勇士的血量、攻击、防御遇到怪物必须战斗勇士永远先手求击败所有怪物后最多剩余血量。 n≤105n\leq 10^5n≤105所有战斗防御小于攻击。 由于不能加攻击所以打败一个怪物受到的攻击次数是固定的算出来记为 kik_iki​奖励宝石记为 bib_ibi​。而每获得一个宝石可以让之后的所有怪物减伤 kik_iki​。 先考虑菊花图也就是没有顺序限制。 考虑一个解 {p1,p2,p3,…,pn}\{p_1,p_2,p_3,\dots,p_n\}{p1​,p2​,p3​,…,pn​} 如果交换 pi,pi1p_i,p_{i1}pi​,pi1​ 让解变优即 dkpi(ddpi)kpi1dkpi1(ddpi1)kpidk_{p_i}(dd_{p_i})k_{p_{i1}}dk_{p_{i1}}(dd_{p_{i1}})k_{p_i}dkpi​​(ddpi​​)kpi1​​dkpi1​​(ddpi1​​)kpi​​ dpikpidpi1kpi1\frac{d_{p_i}}{k_{p_i}}\frac{d_{p_{i1}}}{k_{p_{i1}}}kpi​​dpi​​​kpi1​​dpi1​​​ 所以在没有先决条件的情况下按 diki\frac{d_i}{k_i}ki​di​​ 从小到大排序一个个选就可以了。定义性价比为 cidikic_i\frac{d_i}{k_i}ci​ki​di​​。 考虑树的情况删除点 uuu 后要么继续删儿子要么删其他点废话 如果 uuu 性价比最高的儿子 vvv 性价比比 uuu 高那么显然一定会继续删 vvv 。 所以我们可以把 u,vu,vu,v 合并成一个点 d、kd、kd、k 相加重新计算性价比。这时候 uuu 的其他儿子需要与合并后的点比较。 实现的时候把所有怪物压进按性价比排序的大根堆每次选出最大的如果父亲性价比比它低也就是还在堆里就和父亲合并否则删掉这个点所在的大点可以用并查集实现。 复杂度 O(nlog⁡n)O(n\log n)O(nlogn) #include iostream #include cstdio #include cstring #include cctype #include queue #include vector #include utility #define MAXN 100005 using namespace std; typedef long long ll; inline ll read() {ll ans0;char cgetchar();while (!isdigit(c)) cgetchar();while (isdigit(c)) ans(ans3)(ans1)(c^48),cgetchar();return ans; } vectorint e[MAXN],son[MAXN]; int bns[MAXN],cnt[MAXN],a[MAXN],b[MAXN],k[MAXN]; int fa[MAXN],rt[MAXN]; int find(int x){return rt[x]x? x:rt[x]find(rt[x]);} typedef pairdouble,int pi; priority_queuepi q; ll pb,pa,pd; int vis[MAXN],del[MAXN]; void dfs(int u,int f){fa[u]f;for (int i0;i(int)e[u].size();i) if (e[u][i]!f) dfs(e[u][i],u);} void dfs(int u) {pb-(a[u]-pd)*cnt[u],pdbns[u],del[u]1;for (int i0;i(int)son[u].size();i) dfs(son[u][i]); } int main() {int nread();for (int i1;in;i){int u,v;uread(),vread();e[u].push_back(v),e[v].push_back(u);}pbread(),paread(),pdread();for (int i2;in;i){int bl,d;blread(),a[i]read(),dread(),bns[i]b[i]read();cnt[i]k[i](bl-1)/(pa-d);}dfs(1,0);for (int i2;in;i) q.push(make_pair(1.0*b[i]/k[i],rt[i]i));del[1]1;while (!q.empty()){int uq.top().second;q.pop();if (vis[u]) continue;vis[u]true;if (del[fa[u]]) dfs(u);else{int ffind(fa[u]);k[f]k[u],b[f]b[u];son[rt[u]f].push_back(u);q.push(make_pair(1.0*b[f]/k[f],f));}}if (pb0) pb-1;coutpb;return 0; }
http://wiki.neutronadmin.com/news/124291/

相关文章:

  • 优秀国内个人网站网址网站备案多久可以注销
  • 网站怎样做的有吸引力重庆旅游攻略详细安排
  • 国内做视频网站需要啥建e室内设计网官网全景效果图
  • 如何360收录网站中国建设银行个人网站
  • 建设和同城类似的网站wordpress发文器
  • 网站框架结构图wordpress跳转到微信
  • 北京做网站哪家好wordpress模板图片不显示
  • 武功县住房与城乡建设局网站注册安全工程师报考官网
  • 用ps做网站尺寸北京网站设计制作关键词
  • 网站外链如何建设最有用个人网站做交易类的赚钱吗
  • 网站设计及建设合同营销网站建设的步骤过程
  • 淘宝客网站WordPress网站建设设置背景图片
  • 深圳快速网站制作怎么开通网站
  • 微信怎么建设自己网站网站开发软件著作权归谁
  • 积分商城网站建设wordpress 文章地址
  • asp论坛网站源码wordpress新闻中心
  • wordpress电影网站模板网页设计与编程
  • 谢岗网站仿做优秀室内设计平面图
  • 可以在自己的电脑上做网站吗服务器安装WordPress没有权限访问
  • 开发手机网站教程深圳网络营销的推广
  • 分析杭州高端网站建设开发的区别百度网址是多少 百度知道
  • 书店网站开发目的和意义周口网站关键词优化
  • 织梦网站系统删除不了网站首页做后台链接
  • 重庆五号线金建站做网站公司需要帮客户承担广告法吗
  • 怎样制作网站?wordpress会员等级查看文章
  • 国内网站免备案青岛城阳新闻最新消息
  • 微网站开发方案模板wordpress痞子
  • 网站cn和com有什么区别北京 做网站
  • 成都网站设计师聊城专业网站建设公司电话
  • 激励案例网站制作甘德网站建设