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

深圳市前十的互联网推广公司seo排名赚app

深圳市前十的互联网推广公司,seo排名赚app,外贸流程英文,ecshop安装教程[P1052 NOIP2005 提高组] 过河 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 问题描述:给定长度L,和一次可以跳动的长度 s 到 t,给定m个石头的位置,求最少经过多少个石头可以超过L。 思路:如果L很小的话&#xff0…

[P1052 NOIP2005 提高组] 过河 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

问题描述:给定长度L,和一次可以跳动的长度 s 到 t,给定m个石头的位置,求最少经过多少个石头可以超过L。

思路:如果L很小的话,就是简单dp。
i f i 有石头 F ( i ) = m i n ( F ( i ) , F ( i − j ) + 1 ) j ∈ [ s , t ] e l s e F ( i ) = m i n ( F ( i ) , F ( i − j ) ) j ∈ [ s , t ] if \quad i有石头 \quad F(i) = min(F(i), F(i - j) + 1) \quad j \in [s,t] \\ else \quad F(i) = min(F(i), F(i-j)) \quad j \in [s,t] ifi有石头F(i)=min(F(i),F(ij)+1)j[s,t]elseF(i)=min(F(i),F(ij))j[s,t]
但是发现,L特别大,但是石头个数却特别小,同时也发现s和t也很小,就算m * t * s最大也才1000。如果将石头距离进行缩小就可以过。

对于 两个石头距离大于s * t的来说,对于区间[s * t, 两个石头之间的距离]都是可以经过跳[s, t]这些个数给到达的。因此,可以将两个石头距离大于s * t的缩小为s * t,这样就可以用上面的状态转移方程。

缩点

    int st = s * t;rep(i,1,m) {int dist = a[i] - a[i-1];if(dist >= st) dist = st;ph[i] = ph[i-1] + dist;// 将石头所在的那个点进行赋值为 truevis[ph[i]] = 1;}

状态转移方程

    int len = ph[m] + st; memset(f, 0x3f, sizeof(f));f[0] = 0;rep(i,1,len) {rep(j,s,t) {if(i - j >= 0) {if(vis[i]) f[i] = min(f[i-j] + 1, f[i]);else f[i] = min(f[i-j], f[i]);}}}

求答案

    int ans = INF;rep(i,ph[m],len) {ans = min(ans, f[i]);}

s == t进行特判

    if(s == t) { // 特判 s == tint cnt = 0;rep(i,1,m) if(a[i] % s == 0) cnt++;cout<<cnt;return ;}

AC代码

const int N = 2e5 + 21;
int a[N], f[N],ph[N];
bool vis[N];
void solve() {int L,s,t,m; cin>>L>>s>>t>>m;rep(i,1,m) cin>>a[i];// 需要进行排序,石头位置初始是无序的sort(a+1, a+m+1);if(s == t) { // 特判 s == tint cnt = 0;rep(i,1,m) if(a[i] % s == 0) cnt++;cout<<cnt;return ;}// 如果 两个石头之间的距离大于等于 s * t,进行缩点/*** 因为,假设 两个石头距离为 len* 如果 len > s * t,则在 [s*t, len] 这个区间内的每一个点都可以访问到*/int st = s * t;rep(i,1,m) {int dist = a[i] - a[i-1];if(dist >= st) dist = st;ph[i] = ph[i-1] + dist;// 将石头所在的那个点进行赋值为 truevis[ph[i]] = 1;}// 因为是大于L就行,因此可能有超过L,但是是最小次数的情况int len = ph[m] + st; memset(f, 0x3f, sizeof(f));f[0] = 0;rep(i,1,len) {rep(j,s,t) {if(i - j >= 0) {if(vis[i]) f[i] = min(f[i-j] + 1, f[i]);else f[i] = min(f[i-j], f[i]);}}}int ans = INF;rep(i,ph[m],len) {ans = min(ans, f[i]);}cout<<ans;
}
http://www.wangmingla.cn/news/129298.html

相关文章:

  • 网站备案注销流程最简单的网页制作
  • 做网站月入过万电子商务网络营销
  • 罗湖网站建设 信科网络seo模拟点击有用吗
  • 旅游公共信息服务网站建设及服务质量标准电子商务营销策略有哪些
  • 找家里做的工作到什么网站网站推广技巧
  • 地方门户类网站有哪些做网络推广有前途吗
  • 响应式网站制作流程图在哪里找软件开发公司
  • 开网店做代理的公司网站长春网站建设推广
  • 天津河东做网站公司今日头条淄博新闻
  • 江阴网站推广seo 页面链接优化
  • 模板网站建设武汉刚刚发生的新闻
  • 慈溪哪里有做网站石家庄seo外包公司
  • 邯郸做网站最好的公司营销网络的建设
  • 光谷网站建设微信营销软件哪个好用
  • html网页设计题库广东seo网站设计
  • 最全做暖暖网站论述搜索引擎优化的具体措施
  • 上海交通大学毕业设计网站起名最好的网站排名
  • 做网站一般用什么 语言软文推广案例500字
  • 重庆帝一网络网站建设专家百度咨询电话 人工
  • 宁夏一站式网站建设百度首页
  • 文昌市规划建设管理局网站刷推广链接
  • 做境外盈利网站违法吗百度一下首页官网下载
  • 西安网站seo诊断小游戏推广接单平台
  • 武汉网站建设乐云seo模板中心互联网营销师报名入口官网
  • 一家专做节日商品的网站免费发布信息的网站平台
  • 怎么做全民夺宝网站百度排名竞价
  • 广州市住房城乡建设部门户网站网络营销岗位有哪些
  • 网站百度不收录seo是什么简称
  • 金融seo公司百度seo推广免费
  • vs2010可以做动态网站吗360网站收录