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

合肥网站策划深圳市交易服务中心

合肥网站策划,深圳市交易服务中心,北京网站制作定制,酒店网站免费建设目录 C. Socks 2 D. Reindeer and Sleigh E. Christmas Color Grid 1 C. Socks 2 首先先对 k 进行分类: (1) k 为偶数,直接从头开始两两配对 (2)k 为奇数,此时一定会有一只袜子无法配对。当没有…

目录

        C. Socks 2

        D. Reindeer and Sleigh 

        E. Christmas Color Grid 1


 

 

 

C. Socks 2

        首先先对 k 进行分类:

        (1) k 为偶数,直接从头开始两两配对

        (2)k 为奇数,此时一定会有一只袜子无法配对。当没有思路的时候,就去想把什么作为枚举量,显然这里枚举哪一只袜子丢弃不配对。容易证明丢弃的袜子一定是奇数位。此时的问题就类似于讲一个数组从某一点切成两端,典型的需要同时维护前后缀。

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N = 2e5 + 5, INF = 1e18;int T, n, k, cnt, ans, a[N], f[N], g[N];signed main()
{cin >> n >> k;for (int i = 1; i <= k; i ++)cin >> a[i];sort(a + 1, a + k + 1);if (k % 2 == 0){for (int i = 2; i <= k; i += 2)ans += a[i] - a[i - 1];}else{ans = INF;for (int i = 2; i <= k; i += 2)f[i] = f[i - 2] + a[i] - a[i - 1];for (int i = k - 1; i >= 1; i -= 2)g[i] = g[i + 2] + a[i + 1] - a[i];for (int i = 1; i <= k; i += 2)ans = min(ans, f[i - 1] + g[i + 1]);}cout << ans;return 0;
}

 

 

 

 

 

D. Reindeer and Sleigh 

 

        首先明确,最后是要查询 n 匹鹿能拉多少雪橇,那么用来查询的答案数组的下标就一定是鹿的匹数,这样就能实现 O(1) 的查询。看到鹿匹数数据量达 1e9,可以想到肯定不可能把答案数组填满,但是可以通过 upper 查询来实现。

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N = 2e5 + 5, INF = 1e18;int T, n, q, cnt, ans, a[N], d[N];signed main()
{cin >> n >> q;for (int i = 1; i <= n; i ++)cin >> a[i];sort(a + 1, a + n + 1);for (int i = 1; i <= n; i ++)d[i] = d[i - 1] + a[i];while (q --){int x;cin >> x;if (x > d[n])ans = n;else{int pos = upper_bound(d + 1, d + n + 1, x) - d;ans = pos - 1;}cout << ans << '\n';}return 0;
}

 

 

 

 

 

E. Christmas Color Grid 1

 

         看到判连通块数量,而且后续存在连通块合并的操作,用并查集。

        对于每一红色的点,如果将它染成绿色会导致与它相邻的绿色连通块合并,那么连通块数量是减少的。

        如何在二维地图上用并查集呢?方法是把二维坐标转换成一维数组

 

行优先
n 行 m 列的地图,行列下标都从 1 开始
(x, y) --> (x - 1) * m + y下标从 0 开始
(x, y) --> x * m + y - 1

 

        在枚举红色的点的时候,将其四周的绿色的点所在集合的代表存入 set 即可去重,set.size()就是红点直接相邻的绿色集合数。

 

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1e3 + 5, INF = 1e18, mod = 998244353;struct node
{int x, y;
};int T, n, m, cnt, tot, cnth, ans, fa[N * N];
char c[N][N];
set<int> se;int fpow(int a, int b)
{int res = 1;while (b){if (b & 1)res = res * a % mod;a = a * a % mod;b >>= 1;}return res;
}int find(int x)
{if (x == fa[x])return x;return fa[x] = find(fa[x]);
}void join(int x, int y)
{x = find(x), y = find(y);if (x != y)fa[x] = y;
}int get(int x, int y)
{return (x - 1) * m + y;
}signed main()
{cin >> n >> m;int dx[4] = {-1, 1, 0, 0}, dy[4] = {0, 0, -1, 1};for (int i = 1; i <= n; i ++)for (int j = 1; j <= m; j ++)cin >> c[i][j];for (int i = 1; i <= n * m; i ++)fa[i] = i;for (int i = 1; i <= n; i ++)for (int j = 1; j <= m; j ++)if (c[i][j] == '#')for (int k = 0; k < 4; k ++){int tx = i + dx[k], ty = j + dy[k];if (tx < 1 || tx > n || ty < 1 || ty > m || c[tx][ty] == '.')continue;join(get(i, j), get(tx ,ty));}for (int i = 1; i <= n; i ++)for (int j = 1; j <= m; j ++)if (c[i][j] == '#')se.insert(find(get(i, j)));cnt = se.size();for (int i = 1; i <= n; i ++)for (int j = 1; j <= m; j ++)if (c[i][j] == '.'){cnth ++;set<int> se2;for (int k = 0; k < 4; k ++){int tx = i + dx[k], ty = j + dy[k];if (tx < 1 || tx > n || ty < 1 || ty > m || c[tx][ty] == '.')continue;se2.insert(find(get(tx, ty)));}if (se2.size() == 0)tot += cnt + 1;elsetot += cnt - (se2.size() - 1);}ans = tot % mod * fpow(cnth, mod - 2) % mod;cout << ans;return 0;
}
http://www.yayakq.cn/news/421756/

相关文章:

  • 网站服务器收费个人网站可以做充值
  • 建设银行招生网站wordpress去除无用标签
  • 江门网站推广公司网站建设交印花税
  • 精品网站设计百度seo自动优化
  • 网站站点不安全网站建设策划书缺点
  • 学院做网站的意义网站着陆率
  • 手机免费建立网站网络营销名词解释
  • 儋州网站设计公司途途外贸企业网站管理系统
  • 镇江整站优化做门户网站最重要的是什么意思
  • 珠海网站建设 科速wordpress 步骤
  • 湘潭网站建设磐石网络中国最好的网络营销公司
  • 网站开发人员属于什么星乐seo网站关键词排名优化
  • 查国外企业信息的网站2023新闻大事件摘抄
  • 用dedecms 做门户网站国内最好的wordpress主题
  • 泉州企业网站维护制作wordpress pjax
  • 网站建设平台哪个部门管怎么做带数据库的网站
  • 集团网站建设新闻阿里云服务器价格表
  • 网站左边logo图标怎么做中润建设集团有限公司网站群
  • 初学者学做网站怎么学北京手机响应式网站建设设计
  • 公司网站建设攻略贵州城乡和建设厅网站
  • 网站开发及建设专业做互联网招聘的网站有哪些内容
  • 有没有让人做问卷的网站wordpress不能编辑不能新建
  • pc网站 手机网站 微信网站 上海装潢设计网站
  • 什么是网站建设从哪些方面建设网站有名的app开发公司
  • 网站节约化建设网站做电商销售需要注册吗
  • 转运公司网站建设备案的博客网站可以做别的吗
  • 郑州大学网页设计与网站建设网站后台发文章图片链接怎么做
  • 深圳的网站建设公司推荐子网站建设方案
  • 科技术语沙洋县seo优化排名价格
  • 空包网网站怎么做的网站建设期末试题