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

网站改版竞品分析怎么做/如何让百度收录网址

网站改版竞品分析怎么做,如何让百度收录网址,西安草坪网站建设,腾讯新冠疫情实时动态更新数据题解戳这 一开始没看懂题解,后来想明白以后,d(i, j, s, x)是考虑第i本书的时候,前面已经拿走了j本书,剩下的书的种类的二进制状态为s,剩下的最后一本书的编号为x,所能得到的最小混乱度。 这里状态定义的时候…

题解戳这

一开始没看懂题解,后来想明白以后,d(i, j, s, x)是考虑第i本书的时候,前面已经拿走了j本书,剩下的书的种类的二进制状态为s,剩下的最后一本书的编号为x,所能得到的最小混乱度。

这里状态定义的时候,先不考虑把拿出来的书放回去。

最后统计答案的时候,把那些拿出来的书再加上。

all是所有n本书的状态,s是剩下书的种类的状态。

如果拿出来的书中有和前面高度相同的,直接插到相邻的位置就行了,不会增加混乱度。

如果拿出来的书中没有和前面高度相同的,不管放在那里混乱度都会加1,这样所增加的混乱度就是bitcount(all ^ s)

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <algorithm>
 4 using namespace std;
 5 
 6 const int maxn = 100 + 5;
 7 const int maxs = (1 << 8);
 8 const int INF = 0x3f3f3f3f;
 9 
10 int n, k;
11 
12 int a[maxn];
13 int d[2][maxn][maxs][8];
14 
15 int bitcount(int x)
16 {
17     int ans = 0;
18     while(x) { ans += (x&1); x >>= 1; }
19     return ans;
20 }
21 
22 int main()
23 {
24     int kase = 0;
25 
26     while(scanf("%d%d", &n, &k) == 2)
27     {
28         if(!n && !k) break;
29 
30         for(int i = 0; i < n; i++) scanf("%d", a + i);
31 
32         memset(d[0], 0x3f, sizeof(d[0]));
33         int cur = 0;
34         int all = 0;
35 
36         for(int i = 0; i < n; i++)
37         {
38             cur ^= 1;
39             memset(d[cur], 0x3f, sizeof(d[cur]));
40             int h = a[i] - 25;
41             d[cur][i][1<<h][h] = 1;
42 
43             for(int j = 0; j <= min(k, i); j++)
44                 for(int s = all; s; s = (s-1)&all)
45                     for(int x = 0; (1 << x) <= s; x++)
46                         if(d[cur^1][j][s][x] != INF)
47                         {
48                             int t = d[cur^1][j][s][x];
49                             if(x == h) d[cur][j][s][x] = min(d[cur][j][s][x], t);
50                             else
51                             {
52                                 d[cur][j+1][s][x] = min(d[cur][j+1][s][x], t);
53                                 d[cur][j][s|(1<<h)][h] = min(d[cur][j][s|(1<<h)][h], t + 1);
54                             }
55                         }
56             all |= (1 << h);
57         }
58 
59         int ans = n;
60         for(int j = 0; j <= k; j++)
61             for(int s = all; s; s = (s-1)&all)
62                 for(int x = 0; (1 << x) <= s; x++)
63                     ans = min(ans, d[cur][j][s][x] + bitcount(all^s));
64         printf("Case %d: %d\n\n", ++kase, ans);
65     }
66 
67     return 0;
68 }
代码君

 

转载于:https://www.cnblogs.com/AOQNRMGYXLMV/p/4702669.html

http://www.lbrq.cn/news/1025893.html

相关文章:

  • 门户网站名词解释/专业做网站官网
  • 安徽富通建设集团有限公司网站/百度竞价排名公司
  • 官渡网站设计制作/百度一下百度
  • 怎么做自己的单机网站/网站制作流程和方法
  • 正规的装饰行业网站建设公司/今天新闻联播
  • 建设外贸商城网站/百度推广seo怎么学
  • 叮当设计网站/百度域名查询官网
  • 快速建站服务/沧州seo公司
  • 石家庄搜索引擎优化公司/谷歌seo网站推广怎么做优化
  • admin管理员登录/seo网络运营
  • 做网站的色彩搭配的小知识/b站视频推广网站400
  • 文昌网站建设 myvodo/杭州seo顾问
  • 小程序是做什么的/seo优化推广
  • 南京行业网站建设/ui设计公司
  • 网络推广与推广/盐城seo培训
  • 品牌网站建设保障大蝌蚪/百度一下你就知道下载安装
  • 大学生网站建设实践报告/在线seo短视频
  • wordpress页面插件/seo关键词排名优化销售
  • 做网站的公司 苏迪/市场推广渠道有哪些
  • 做烘培网站/关键词排名优化易下拉霸屏
  • 公益手游app平台/淮南网站seo
  • 为什么要建立网站/网站排名
  • 商标做网站logo/保定网站seo
  • 网站建设官方商城/百度广告公司联系方式
  • ppt做仿网站点击效果/天津网站优化
  • 专门做卫生间效果图的网站/进入百度app
  • 东营网站建设优化/seo外链友情链接
  • 网页设计个人网站作业/重庆森林电影高清在线观看
  • 现在哪些网站做外贸的好做/企业如何进行网站推广
  • 旅游网站制作方案/全网推广平台推荐
  • Linux软件下载菜单脚本
  • C#WPF实战出真汁04--登录功能实现
  • Java 大视界 -- Java 大数据机器学习模型在金融欺诈检测与防范策略制定中的应用(397)
  • 长篇音频制作(小说自动配音)完整教程
  • LeetCode Day5 -- 栈、队列、堆
  • Linux服务:Apache 虚拟主机配置指南:多站点部署三种方式详解