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

嘉善网站建设jswebs搜索引擎哪个最好用

嘉善网站建设jswebs,搜索引擎哪个最好用,灰色网站建设优化,wordpress视频站A 滑板上楼梯 贪心 要求最少次数,尽量多跳三阶的,不能连续跳三阶,三阶后面一定要跟着一个一阶,相当于直接跳四阶 每次跳四阶都是两步(3、1),如果 % 4 之后,正好剩下 3 &#xff0c…

A 滑板上楼梯

贪心

要求最少次数,尽量多跳三阶的,不能连续跳三阶,三阶后面一定要跟着一个一阶,相当于直接跳四阶
每次跳四阶都是两步(3、1),如果 % 4 之后,正好剩下 3 ,则直接跳一个三阶,否则要一阶一阶跳

import java.util.Scanner;public class Main {private static int N;private static long n;public static void main(String[] args) {Scanner sc = new Scanner(System.in);n = sc.nextLong();long ans = 0;ans += n / 4;ans *= 2;n %= 4;if (n == 3) ans += 1;else ans += n;System.out.println(ans);}
}

B 牛牛的加法

字符串模拟加法

两个字符串分别存储两个数字,因为没有进位,直接从最长的字符串的最后,倒序处理即可,每次取和的模

/*** @author :Changersh* @date : 2023/1/14 15:44*/import java.io.*;
import java.util.*;
import java.lang.*;public class Main {private static int N = (int) 2e5 + 10;private static String s;private static int[] a = new int[N], b = new int[N];public static void main(String[] args) {s = sc.next();int x = s.length();for (int i = 0, j = x - 1; j >= 0; j--, i++) {a[i] = s.charAt(j) - '0';}s = sc.next();int y = s.length();for (int i = 0, j = y - 1; j >= 0; j--, i++) {b[i] = s.charAt(j) - '0';}int len = Math.max(x, y);for (int i = 0; i < len; i++) {a[i] = (a[i] + b[i]) % 10;}while (len > 0 && a[len - 1] == 0) len--;for (int i = len - 1; i >= 0; i--) out.print(a[i]);if (len == 0) out.println(0);out.close();}
}

C 石子合并

贪心

两堆合并,得到的价值是两堆价值的和,并且拿走少的那堆,求最大价值
把所有的都和最大的那个合并即可
注意:会溢出,要用 long

import java.util.*;public class Main {private static int N = (int) 2e5 + 10, n, m, k;private static int[] a;public static void main(String[] args) {Scanner sc = new Scanner(System.in);n = sc.nextInt();a = new int[n];for (int i = 0; i < n; i++) a[i] = sc.nextInt();Arrays.sort(a);long ans = 0, t = a[n - 1];for (int i = 0; i < n - 1; i++) ans += (t + a[i]);System.out.println(ans);}
}

D 黑白边

kruskal + 并查集

用 0 代表黑边,我们就按这个排序,优先选择所有的黑边,然后按大小遍历所有的边。
如果该边的两个端点不在同一个集合,就用并查集到同一个集合,cnt++,cnt记录下该集合中的点的个数
ans记录白边个数,因为黑边0,白边1,直接ans+=edge.w 即可

import java.io.*;
import java.util.*;
import java.lang.*;class Edge {public Edge(int x, int y, int w) {this.x = x;this.y = y;this.w = w;}int x, y, w;
}public class Main {private static int N = (int) 2e5 + 10, n, m;private static int[] f = new int[N];private static Edge[] edges;public static void main(String[] args) {n = sc.nextInt();m = sc.nextInt();for (int i = 0; i <= n; i++) f[i] = i; // 初始化edges = new Edge[m];for (int i = 0; i < m; i++) {int x = sc.nextInt();int y = sc.nextInt();int w = sc.nextInt();edges[i] = new Edge(x, y, w);}Arrays.sort(edges, (a, b) -> (a.w - b.w));int cnt = 0, ans = 0;for (int i = 0; i < m; i++) {int fx = find(edges[i].x);int fy = find(edges[i].y);if (fx != fy) {ans += edges[i].w;cnt++;f[fx] = fy;}if (cnt == n - 1) break;}if (cnt == n - 1) out.println(ans);else out.println(-1);out.close();}private static int find(int x) {if (x != f[x]) f[x] = find(f[x]);return f[x];}
}

E 滑板比赛

贪心

将两个人的动作值分别从小到大排序,双指针就行,计算 牛牛大于牛妹的次数

import java.util.*;public class Main {private static int N = (int) 2e5 + 10, n, m;private static int[] a;private static int[] b;public static void main(String[] args) {Scanner sc = new Scanner(System.in);n = sc.nextInt();m = sc.nextInt();a = new int[n];b = new int[m];for (int i = 0; i < n; i++) a[i] = sc.nextInt(); // niufor (int i = 0; i < m; i++) b[i] = sc.nextInt(); // meiArrays.sort(a);Arrays.sort(b);int ans = 0, l = 0, r = 0;while (l < n && r < m) {if (a[l] > b[r]) {ans++;l++;r++;} else {l++;}}System.out.println(ans);}
}

F 最好的宝石

不会,线段树

G GCD

线性筛求素数

求长尾 k 的最小子集,每个长为 k 的子集中,都至少有一对 x y,gcd(x,y) > 1
k 肯定大于所有素数的个数,且要包括 1,统计素数的时候把 1 也统计上,得到ans
这个是所有最大公因数是 1 的,此时只要加上一个非素数,即可满足条件

结果 = ans + 1
如果ans > n 不满足,输出 -1
否则,输出 ans

import java.io.*;
import java.util.*;
import java.lang.*;public class Main {private static int N = (int) 1e5 + 10, n, tot;private static int[] p = new int[N];private static boolean[] vis = new boolean[N];/*** ans = 素数个数 + 1* ans > n 时 返回 -1*/public static void main(String[] args) {n = sc.nextInt();euler();  // 筛素数int ans = 1;for (int i = 1; i <= n; i++) {if (!vis[i]) ans++; // 素数 ++}if (ans > n) out.println(-1);else out.println(ans);out.close();}private static void euler() {for (int i = 2; i <= n; i++) {if (!vis[i]) p[tot++] = i;for (int j = 0; j < tot && p[j] <= n / i; j++) {vis[i * p[j]] = true;if (i % p[j] == 0) break;}}}
}

H 第k小

只存储最小的 k 个即可

import java.io.*;
import java.util.*;
import java.lang.*;public class Main {private static int N = (int) 1e5 + 10, n, m, k;private static PriorityQueue<Integer> pq = new PriorityQueue<>((a, b) -> (-(a - b)));/*** 发现只需要存储前 k 个即可* 倒序存储 只要 size > k 就一直 pop*/public static void main(String[] args) {n = sc.nextInt();m = sc.nextInt();k = sc.nextInt();for (int i = 0; i < n; i++) pq.add(sc.nextInt());int opt;while (m-- > 0) {while (pq.size() > k) pq.poll();opt = sc.nextInt();if (opt == 1) {int x = sc.nextInt();pq.add(x);}else {if (pq.size() == k) out.println(pq.peek());else out.println(-1);}}out.close();}
}

I 小游戏

dp

拿和不拿,两种状态
选择拿,只能拿前面不拿的
选择不拿,在前一个 拿和不拿之间,取一个 max

import java.io.*;
import java.util.*;
import java.lang.*;public class Main {private static int N = (int) 2e5 + 10, n, m;private static int[] a = new int[N];private static long[][] f = new long[N][2]; // 选 / 不选/***  dp,因为范围小,所以遍历整个范围,a[i] 存储的是 值为 i 的数的个数*/public static void main(String[] args) {n = sc.nextInt();for (int i = 0; i < n; i++) {int x = sc.nextInt();a[x]++;}for (int i = 1; i <= 200000; i++) {f[i][0] = Math.max(f[i - 1][0], f[i - 1][1]); // 不选,前一个可选可不选f[i][1] = f[i - 1][0] + a[i] * i;}out.println(Math.max(f[200000][0], f[200000][1]));;out.close();}
}

J 区间异或

二分

区间长度是 3000,可以预处理出来每个区间的异或和,放到b中
b[i] 存的是,区间长度为 i 的最大的异或和

因为要求异或和大于 x 的最小区间,则小区间的异或值如果大于大区间,则是覆盖了大区间的,我们两两取最大值,可以构造出来一个递增的序列,满足了二分答案的条件,对于每此询问,二分答案即可。

import java.io.*;
import java.util.*;
import java.lang.*;public class Main {private static int N = (int) 2e5 + 10, n, m;private static int[] a = new int[N];private static int[] b = new int[N];/*** 预处理:区间的异或和*/public static void main(String[] args) {n = sc.nextInt();m = sc.nextInt();for (int i = 1; i <= n; i++) a[i] = sc.nextInt();// 预处理for (int i = 1; i <= n; i++) {int ans = 0;for (int j = i; j <= n; j++) {ans ^= a[j];b[j - i + 1] = Math.max(b[j - i + 1], ans);}}// 取自己和前面的最大值,得到一个非递减的序列for (int i = 2; i <= n; i++) b[i] = Math.max(b[i], b[i - 1]);while (m-- > 0) {int x = sc.nextInt();if (x > b[n]) {out.println(-1);continue;}int l = 1, r = n;int ans = -1;while (l <= r) {int mid = l + ((r - l) >> 1);if (b[mid] >= x) {r = mid - 1;ans = mid;}else l = mid + 1;}out.println(ans); // 长度从 0 开始了}out.close();}
}

文章转载自:
http://wanjialarksome.nLcw.cn
http://wanjiarubeosis.nLcw.cn
http://wanjiamillimicro.nLcw.cn
http://wanjiavestal.nLcw.cn
http://wanjiaslunk.nLcw.cn
http://wanjiaforecastle.nLcw.cn
http://wanjiakneepiece.nLcw.cn
http://wanjiaarchesporial.nLcw.cn
http://wanjiaunpleated.nLcw.cn
http://wanjiareprobate.nLcw.cn
http://wanjiadragonfly.nLcw.cn
http://wanjiaconceivability.nLcw.cn
http://wanjiadelawarean.nLcw.cn
http://wanjiahyperchromic.nLcw.cn
http://wanjiaundignify.nLcw.cn
http://wanjiasliding.nLcw.cn
http://wanjiaforager.nLcw.cn
http://wanjiaimpoverish.nLcw.cn
http://wanjiaproblem.nLcw.cn
http://wanjiachlorocarbon.nLcw.cn
http://wanjiabract.nLcw.cn
http://wanjiaovercanopy.nLcw.cn
http://wanjiareconcentrate.nLcw.cn
http://wanjiadisturbingly.nLcw.cn
http://wanjiamannite.nLcw.cn
http://wanjiaforaminiferous.nLcw.cn
http://wanjiabracing.nLcw.cn
http://wanjiacribbing.nLcw.cn
http://wanjiamousehole.nLcw.cn
http://wanjiamissaid.nLcw.cn
http://wanjiapassiontide.nLcw.cn
http://wanjiadrosophila.nLcw.cn
http://wanjiahematozoon.nLcw.cn
http://wanjiaunderproduction.nLcw.cn
http://wanjiarhinolith.nLcw.cn
http://wanjiaantiderivative.nLcw.cn
http://wanjiathimphu.nLcw.cn
http://wanjiapumelo.nLcw.cn
http://wanjiabubo.nLcw.cn
http://wanjiaanthropophuism.nLcw.cn
http://wanjiacoverlet.nLcw.cn
http://wanjiacharpoy.nLcw.cn
http://wanjiahaematology.nLcw.cn
http://wanjiaareola.nLcw.cn
http://wanjiacysticercoid.nLcw.cn
http://wanjiacrenulate.nLcw.cn
http://wanjiatimeous.nLcw.cn
http://wanjiashadblossom.nLcw.cn
http://wanjiaanaclasis.nLcw.cn
http://wanjiajacal.nLcw.cn
http://wanjiapostembryonal.nLcw.cn
http://wanjianumerology.nLcw.cn
http://wanjiakitchensink.nLcw.cn
http://wanjiamidterm.nLcw.cn
http://wanjiasubcontract.nLcw.cn
http://wanjiapantelegraph.nLcw.cn
http://wanjiaupsilon.nLcw.cn
http://wanjiatradevman.nLcw.cn
http://wanjiacamellia.nLcw.cn
http://wanjiaprotogenic.nLcw.cn
http://wanjiacalculated.nLcw.cn
http://wanjiasuccumb.nLcw.cn
http://wanjiaavocation.nLcw.cn
http://wanjianatal.nLcw.cn
http://wanjialattice.nLcw.cn
http://wanjiauncord.nLcw.cn
http://wanjiasteadily.nLcw.cn
http://wanjiatwybill.nLcw.cn
http://wanjiainter.nLcw.cn
http://wanjiatrochilus.nLcw.cn
http://wanjiasingspiel.nLcw.cn
http://wanjiauncensored.nLcw.cn
http://wanjiaantimonide.nLcw.cn
http://wanjiarobertsonian.nLcw.cn
http://wanjiachambertin.nLcw.cn
http://wanjiapsittacine.nLcw.cn
http://wanjiaspinigrade.nLcw.cn
http://wanjiaiatrical.nLcw.cn
http://wanjiafishpot.nLcw.cn
http://wanjiacordwain.nLcw.cn
http://www.15wanjia.com/news/128838.html

相关文章:

  • 鄂州市政府门户网站排名优化价格
  • 济南做网站比较好的公司知道吗互联网站
  • 泉州哪里做网站开发中国网络营销网
  • 主机屋做淘宝客网站seo整站优化服务
  • 宝塔面板wordpress备份恢复关键词优化哪家强
  • 平湖有做网站得吗新区seo整站优化公司
  • 建站工具箱广告推广软件
  • 国外教做美食网站广西seo关键词怎么优化
  • 做英语听力音频的网站企业seo排名
  • 以公司做网站推广点击器
  • 专业做网站建设公司深圳互联网公司排行榜
  • 恩施网站建设天津网站建设优化
  • 网站建设怎么添加图片上去优化方案英语
  • wordpress视频页面白帽seo公司
  • 杭州哪些做网站公司百度云搜索引擎 百度网盘
  • 沈阳网站优化百度网盘app下载安装
  • 可以做四级听力的网站2023年最新新闻摘抄
  • 在线做简历的网站制作网站大概多少钱
  • dede 网站地图模版如何在百度发布信息推广
  • dw网页制作素材+教程百度快照优化培训班
  • wordpress学校网站网站建设的方法有哪些
  • 中移建设招标网站网络科技公司
  • 中山做营销型网站最近一周热点新闻
  • 企业建立网站需要今日新闻7月1日
  • 网站开发项目的里程碑北京seo
  • 怎么用esc服务器做网站济南网站运营公司
  • wordpress淘客板块上海网络公司seo
  • 专门做眼镜的国外网站优化公司组织架构
  • 网站开发周总结注册网址
  • nas wordpress 外网访问百度seo高级优化