CSP202209 03.18 JAVA 如此编码 何以包邮? 防疫大数据 吉祥物投票 高维亚空间超频物质变压缩技术 持续更新欢迎交流..
创始人
2025-05-30 15:13:49
0

更新时间:2023.03.18

当前结果

 

题目地址:首页 - 计算机软件能力认证考试系统

注意:想直接运行需要把下列代码class名和main函数改成Main再加入即可

如此编码

思路

按题目模拟填充数据

按照提示算出每个和项中的b输出即可

代码

import java.util.Scanner;public class Main {public static void main(String[] args) {new Main().solution();}private void solution() {init();print();}private void print() {StringBuilder sb = new StringBuilder();for (int i = 1; i <= n; i++) {sb.append(b[i]).append(" ");}System.out.println(sb);}private int n, m;private int[] a, b, c, mo;private void init() {Scanner sc = new Scanner(System.in);n = sc.nextInt();m = sc.nextInt();a = new int[n + 1];c = new int[n + 1];c[0] = 1;for (int i = 1; i <= n; i++) {a[i] = sc.nextInt();c[i] = c[i - 1] * a[i];}b = new int[n + 1];mo = new int[n];mo[0] = m % c[1];b[1] = mo[0] / c[0];for (int i = 1; i < n; i++) {mo[i] = m % c[i + 1] - mo[i - 1];b[i + 1] = mo[i] / c[i];}}
}

何以包邮?

思路

枚举:70%

背包问题

既然不能通过枚举所有的情况来找到答案 ,那肯定是有一种途径来找到最优解,所以自然的联想到了dp(动态规划);我们再来看一下这个问题,寻找超过包邮条件x的最小数字组合。可以转化为先求书的总价sum,再用sum减去x得y,问题就变成了寻找不超过y(达到包邮条件)的最大数字组合,再用总价减去这个数字组合,即可得到最终答案。寻找不超过y的最大数字组合,这种类型就是典型的背包问题。这里,我们来简单回顾一下背包问题的几个核心思想:

子问题:当前背包容量j,前i个物品最佳组合对应的价值
递推关系式:v[i]:各商品价值   w[i]:各商品重量 (这里书的重量就是它的价值)

j j>w[i]: dp[i][j]=max(dp[i-1][j],dp[i-1][j-w[i]]+v[i])

参考:CSP-何以包邮?(从背包问题的角度出发)_何以包邮?_CXR_XC的博客-CSDN博客

代码

import java.util.Scanner;public class Main {public static void main(String[] args) {new Main().solution();}private void solution() {init();bag();print();}private void bag() {for (int i = 1; i <= n; i++) {// 遍历前i个物品for (int j = 1; j <= y; j++) {// 遍历容量if (a[i] > j) {// 如果当前物品的容量比容量大,肯定不能放入背包dp[i][j] = dp[i - 1][j];} else {// 放入背包或者不放入,看哪个价值大dp[i][j] = Math.max(dp[i - 1][j], dp[i - 1][j - a[i]] + a[i]);}}}}private void print() {System.out.println(sum - dp[n][y]);}private int n, x, sum, y;private int[] a;private int[][] dp;private void init() {Scanner sc = new Scanner(System.in);n = sc.nextInt();x = sc.nextInt();a = new int[n + 1];sum = 0;for (int i = 1; i <= n; i++) {a[i] = sc.nextInt();sum += a[i];}y = sum - x;// 转换为物品的价格为不超过y的最大情况dp = new int[n + 1][y + 1];}
}

防疫大数据

思路

模拟

模块化记录每天情况

每收到一个风险地区则更新后续日期的风险地区

 注意数据去重处理(set)

处理数据时按照风险名单判定来处理

代码

    public static void main(String[] args) {new fydsj20220903().solution();}private void solution() {init();deal();print();}private void deal() {for (int d = 0; d < n; d++) {Set dangers = data[d].dangers;// 当日风险名单for (int d0 = Math.max(d - 6, 0); d0 <= d; d0++) {// 遍历前面日期a:for (int[] mm : data[d0].ms) {int d1 = mm[0], u = mm[1], r = mm[2];if (dangers.contains(u)) continue;if (d1 > d - 7 && d1 <= d && d1 >= 0) {// 满足一号条件// 注意如果此处d1<0则必存在无记录情况,则不满足二号条件boolean isDanger = true;// 注意此处d1可能小于0for (int D = d1; D <= d && isDanger; D++) {if (!data[D].p.contains(r)) {isDanger = false;}}if (isDanger) dangers.add(u);// 二号条件}}}}}private void print() {for (int i = 0; i < n; i++) {StringBuilder sb = new StringBuilder();sb.append(i).append(' ');Set dangers = data[i].dangers;// 排序int[] us = new int[dangers.size()];int index = 0;for (int u : dangers) {us[index++] = u;}Arrays.sort(us);for (int u : us) {sb.append(u).append(' ');}System.out.println(sb);}}private int n;private Data[] data;class Data {int r, m;Set p;// 当天的风险地区int[][] ms;Set dangers;// 去重public Data() {dangers = new HashSet<>();p = new HashSet<>();}}private void init() {Scanner sc = new Scanner(System.in);n = sc.nextInt();data = new Data[n];for (int i = 0; i < n; i++) {data[i] = new Data();}for (int i = 0; i < n; i++) {int r = sc.nextInt(), m = sc.nextInt();// 收到风险地区,更新后续日期风险地区for (int j = 0; j < r; j++) {int dangerR = sc.nextInt();for (int z = i; z < n && z <= i + 6; z++) {data[z].p.add(dangerR);}}// 日期 用户 地区int[][] ms = new int[m][3];for (int j = 0; j < m; j++) {ms[j][0] = sc.nextInt();ms[j][1] = sc.nextInt();ms[j][2] = sc.nextInt();}data[i].r = r;data[i].m = m;data[i].ms = ms;}}
}

吉祥物投票

思路

代码

相关内容

热门资讯

走进小城看消费丨江西资溪:低碳...   夏日时节下午4点,江西省抚州市资溪县大觉山景区漂流终点依然热闹。来自南昌的游客余鑫漂流结束后没有...
【中原晨会0625】市场分析专... 来源:市场资讯 (来源:中原证券研究所) 本期重点研报目录 【中原策略】市场分析:电子半导体领涨 ...
南向资金连买4日!低费率+可月... 6月25日早盘,港股红利资产震荡整理。截至11时14分,港股红利低波ETF招商(520550)下跌0...
618成交破百万!紫荆花用一套... 一年一度的618年中大促,是消费市场的晴雨表,也是品牌间最激烈的角力场。当各大品牌在直播间里铆足了劲...
原创 黄... 2026年6月25日的国际金价已经从前期的5500美元高点跌到4200美元下方,累计跌幅超过22%,...
英伟达CEO:Vera Rub... 截至9:38,中证半导体材料设备主题指数(931743)涨2.36%创新高;权重股中,中微公司涨3....
再被催债16亿!“钢铁大王”戴... 澎湃新闻记者 贺梨萍 因“铁本事件”入狱五年的戴国芳重返钢铁行业,但他并没有完成从阶下囚再到“钢铁大...
周三原油价格下跌 随着美国和伊朗在和平谈判中取得进展,越来越多的油轮公开穿越霍尔木兹海峡,原油在战时的价格上涨已经蒸发...
这种蛋白是大脑衰老的开关 这种蛋白是大脑衰老的开关 清晨,假设一位五十岁左右的王女士发现自己常常把手机放在熟悉的抽屉里又找不到...
信通院牵头算力Token出海生... 盘面上,截至11:04,中证科创创业50指数(931643)涨1.68%,创历史新高;权重股中,芯原...
海外 774 亿营收背后:日本... 文 | 游戏价值论 6月23日,彭博社报道了腾讯正在围绕出售多家日本游戏工作室少数股权开展谈判,包...
餐饮“抢人”大战:把店开到公交... 作者 |餐饮老板内参 内参君 医院、公交站、演唱会…餐饮品牌,正在无孔不入 在北京儿童医院,肯德基...
快讯 | 外资扫货!陈翊庭:港... 港交所行政总裁陈翊庭在接受《中国证券报》专访时指出,国际资本对中国资产的看法已彻底扭转,布局中国市场...
2777.77元!A股“股王”... 25日早盘,昨天创下历史新高的A股“股王”联讯仪器,今天上午继续走强,盘中股价再度刷新历史新高。 截...
原创 今... 欧洲自己的媒体直接下结论,欧盟衰退躲不掉,内部分裂拦不住,现在就连欧洲顶尖工业巨头,都偷偷在用中国的...
黄仁勋股东大会放言:本轮AI基... 在当地时间6月24日的英伟达(NVDA.O)2026年度股东大会上,股东批准了该公司全部10名董事会...
国际油价大跌 新华社消息, 纽约原油期货主力合约价格24日盘中跌破每桶70美元,为伊朗战事爆发以来首次。 市场分析...
马云带队插秧,什么信号? 一场别开生面的“务农”,让外界看到了一个不一样的阿里巴巴。 近日,阿里巴巴合伙人、高德董事长刘振飞在...
全球最大产能,最高丰度达99.... 本文转自【科技日报】; 6月23日,高丰度硼-10同位素技术暨产业化成果发布会在山东省东营市举办,全...
黄金大跳水!金饰克价年内暴跌近... 25日,现货黄金盘中震荡,截至发稿,报3985.070美元/盎司,跌0.17%。 当地时间24日,...