Codeforces Round #278 (Div. 1) 解题报告_html/css_WEB-ITnose
A题:Fight the Monster
枚举+二分
因为每个元素的数据范围只有100,所以可以用枚举,对于血量用二分,然后判断结果是否可行。
代码如下:
#include <iostream>#include <cstdio>#include <string>#include <cstring>#include <stdlib.h>#include <math.h>#include <ctype.h>#include <queue>#include <map>#include <set>#include <algorithm>using namespace std;#define LL __int64const int INF=0x3f3f3f3f;int hy, ay, dy, hm, am, dm;int bin_search(int a, int d){ if(d>=am) return hy; int low=0, high=100000, mid, ans, c; c=(hm+(a-dm-1))/(a-dm); while(low>1; if((mid+am-d-1)/(am-d)>c) { ans=mid; high=mid-1; } else low=mid+1; } return ans>hy?ans:hy;}int main(){ int h, a, d, i, j, min1, z; while(scanf("%d%d%d",&hy,&ay,&dy)!=EOF) { min1=INF; scanf("%d%d%d",&hm,&am,&dm); scanf("%d%d%d",&h,&a,&d); for(i=0;i <br> B题: Strip <p></p> <p>线段树+DP+二分(或窗口滑动)</p> <p>这题做了好长时间。。。终于AC了。。</p> <p>基本思路是DP。DP[i]表示从第一个到第i个的最小可划分的区间数。然后对于每个数,找到前面可到达的最左端L,对于L的查找可用二分法或者滑动窗口法进行枚举查找,判断当前枚举区间是否可行的时候用线段树对当前区间的最值进行查询。状态转移方程dp[i]=min(dp[L],....,dp[i-lenth])+1;然后对于dp[L]...dp[i-lenth]这段区间查最值可用另一棵线段树在logn的时间内查询。所以需要建两棵线段树。</p> <p>话说最近换了代码风格。。看起来果然比以前的好看多了。。。</p> <p>代码如下:</p> <p></p> <pre name="code" class="sycode">#include <iostream>#include <cstdio>#include <string>#include <cstring>#include <stdlib.h>#include <math.h>#include <ctype.h>#include <queue>#include <map>#include <set>#include <algorithm>using namespace std;#define LL __int64const int INF=0x3f3f3f3f;#define lson l, mid, rt>1; if(p=r) { if(q==1) { q_minv=min(q_minv,minv[rt]); q_maxv=max(q_maxv,maxv[rt]); } else q_mindp=min(q_mindp,mindp[rt]); return ; } int mid=l+r>>1; if(llmid) Query(q,ll,rr,rson);}int bin_search(int r){ int low=1, high=r, mid, ans=-1; while(low>1; q_maxv=-INF; q_minv=INF; Query(1,mid,r,root); //if(r==4) //printf("%d %d\n",q_minv,q_maxv); if(q_maxv-q_minvi) continue ; q_mindp=INF; //printf("%d %d\n",l,i-lenth); Query(-1,l-1,i-lenth,root); if(q_mindp==INF) continue ; Update(-1,i,q_mindp+1,root); } q_mindp=INF; Query(-1,n,n,root); printf("%d\n",q_mindp==INF?-1:q_mindp); return 0;}</algorithm></set></map></queue></ctype.h></math.h></stdlib.h></cstring></string></cstdio></iostream>

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

HTML适合初学者学习,因为它简单易学且能快速看到成果。1)HTML的学习曲线平缓,易于上手。2)只需掌握基本标签即可开始创建网页。3)灵活性高,可与CSS和JavaScript结合使用。4)丰富的学习资源和现代工具支持学习过程。

HTML定义网页结构,CSS负责样式和布局,JavaScript赋予动态交互。三者在网页开发中各司其职,共同构建丰富多彩的网站。

AnexampleOfAstartingTaginHtmlis,beginSaparagraph.startingTagSareEssentialInhtmlastheyInitiateEllements,defiteTheeTheErtypes,andarecrucialforsstructuringwebpages wepages webpages andConstructingthedom。

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

GiteePages静态网站部署失败:404错误排查与解决在使用Gitee...

网页批注功能的Y轴位置自适应算法本文将探讨如何实现类似Word文档的批注功能,特别是如何处理批注之间的间�...

实现图片点击后周围图片散开并放大效果许多网页设计中,需要实现一种交互效果:点击某张图片,使其周围的...

HTML、CSS和JavaScript是Web开发的三大支柱。1.HTML定义网页结构,使用标签如、等。2.CSS控制网页样式,使用选择器和属性如color、font-size等。3.JavaScript实现动态效果和交互,通过事件监听和DOM操作。
