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

订票网站开发公司教育培训机构加盟

订票网站开发公司,教育培训机构加盟,哪个网站做ppt,网站开发语言查询 蔡学镛前言 整体评价 T2真是一个折磨人的小妖精,写了两版DFS,第二版计数DFS才过。T3是三分模板,感觉也可以求导数。T4的数据规模才n1000,因此中心扩展的 O ( n 2 ) O(n^2) O(n2)当仁不让。 A. 游游的最长稳定子数组 滑窗经典题 从某个…

前言

alt


整体评价

T2真是一个折磨人的小妖精,写了两版DFS,第二版计数DFS才过。T3是三分模板,感觉也可以求导数。T4的数据规模才n=1000,因此中心扩展的 O ( n 2 ) O(n^2) O(n2)当仁不让。


A. 游游的最长稳定子数组

滑窗经典题

从某个左端点出发,按顺序找到最远的右端点

然后把该右端点变成新的左端点,继续寻找直至结束

import java.io.*;
import java.util.*;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(new BufferedInputStream(System.in));int n = sc.nextInt();int[] arr = new int[n];for (int i = 0; i < n; i++) arr[i] = sc.nextInt();int ans = 0;int j = 0;while (j < n) {int k = j + 1;while (k < n && Math.abs(arr[k] - arr[k - 1]) <= 1) {k++;}ans = Math.max(ans, k - j);j = k;}System.out.println(ans);}}
#include <bits/stdc++.h>using namespace std;int main() {int n;cin >> n;vector<int> arr(n);for (int i = 0; i< n; i++) {cin >> arr[i];}int res = 1;int j = 0;while (j < n) {int k = j + 1;while (k < n && abs(arr[k - 1] - arr[k]) <= 1) {k++;}res = max(res, k - j);j = k;}cout << res << endl;return 0;
}

B. 游游的字符重排

暴力搜索好像TLE了,而且需要额外处理去重

那如何搜索,可以不考虑去重的情况呢?

可以对每个字母进行频数统计

然后进行dfs,这样有一个好处,就是天然去重,时间复杂度为 O ( n ! ) O(n!) O(n!)

import java.io.*;
import java.util.*;public class Main {// 计数DFSpublic static int dfs(int[] nums, int n, int now, int prev) {if (now == n) {return 1;}int res = 0;for (int i = 0; i < nums.length; i++) {if (nums[i] > 0 && i != prev) {nums[i]--;res += dfs(nums, n, now + 1, i);nums[i]++;}}return res;}public static void main(String[] args) {Scanner sc = new Scanner(new BufferedInputStream(System.in));char[] str = sc.next().toCharArray();Map<Character, Integer> hash = new HashMap<>();for (char c: str) hash.merge(c, 1, Integer::sum);int[] nums = hash.values().stream().mapToInt(x -> x).toArray();System.out.println(dfs(nums, str.length, 0, -1));}}
#include <bits/stdc++.h>using namespace std;using int64 = long long;int64 dfs(const string &s, char last, int mask) {int n = s.length();if (mask == (1 << n) - 1) {return 1LL;}int64 res = 0;for (int i = 0; i < n; i++) {if ((mask & (1 << i)) == 0) {if (s[i] == last || (i > 0 && s[i] == s[i - 1] && (mask &(1 << (i - 1))) == 0) ) {continue;}res += dfs(s, s[i], mask | (1 << i));}}return res;
}int main() {string s;cin >> s;sort(s.begin(), s.end());int64 res = dfs(s, ' ', 0);cout << res << endl;return 0;
}

C. 游游开车出游

三分板子题,该函数为凹函数。

z = y / (v + x*t) + t

该函数先单调递减,然后单调递增

1. 三分板子

import java.io.BufferedInputStream;
import java.util.Scanner;public class Main {static double calc(double y, double x, double v, double t) {return y / (v + x * t) + t;}public static void main(String[] args) {Scanner sc = new Scanner(new BufferedInputStream(System.in));double v = sc.nextDouble(), x = sc.nextDouble(), y = sc.nextDouble();// 三分板子double l = 0.0, r = 1e9;while (r - l >= 1e-7) {// 要求1e-6double s = (r - l) / 3.0;double t1 = l + s;double t2 = l + 2 * s;double res1 = calc(y, x, v, t1);double res2 = calc(y, x, v, t2);if (res1 >= res2) {l = t1;} else {r = t2;}}System.out.println(calc(y, x, v, l));}}

2. 求导

f(t) = y / (v + x*t) + t

求导

f‘(t) = -xy / (v + x*t)^2 + 1

求f’(t) = 0 的解

x^2 * t^2 + 2vx*t + v^2 - xy = 0; t为变量, x,y,v都是常数

t’=(-v +/- sqrt(xy)) / x,

不知道,牛客啥时候对latex语法不那么友好了,写起来难受,看的人更难受

因为xy>0, 所以一定有解,同时 t>=0, 因此只有一个可能解

t’ = (-v + sqrt(xy)) / x

t’ = max(0, t’), 保证t>=0

import java.io.BufferedInputStream;
import java.util.Scanner;public class Main {static double calc(double y, double x, double v, double t) {return y / (v + x * t) + t;}public static void main(String[] args) {Scanner sc = new Scanner(new BufferedInputStream(System.in));double v = sc.nextDouble(), x = sc.nextDouble(), y = sc.nextDouble();// 求一元二次方程的根double t = (-v + Math.sqrt(x*y)) / x;// 保证t>=0t = Math.max(0, t);System.out.println(calc(y, x, v, t));}}

D. 游游的回文子串

因为n=1000,所以中心扩展就好了

  • 同一个区域, 长度为n, 方案数n*(n+1)/2
  • 以某个区域为中心,往两边扩展,则线性增长
import java.io.BufferedInputStream;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(new BufferedInputStream(System.in));int n = sc.nextInt();long[] arr = new long[n];for (int i = 0; i < arr.length; i++) {arr[i] = sc.nextInt();}long ans = 0;long mod = 10_0000_0007l;for (int i = 0; i < n; i++) {// 枚举某个区域long t = arr[i] * (arr[i] + 1) / 2;ans = (ans + t % mod) % mod;// 中心扩展for (int j = 1; i - j >= 0 && i + j < n; j++) {if (arr[i - j] != arr[i + j]) {// 长度不等,取最小,通过跳出ans = (ans + Math.min(arr[i - j], arr[i + j])) % mod;break;} else {ans = (ans + arr[i - j]) % mod;}}}System.out.println(ans);}}

写在最后

alt


文章转载自:
http://manure.Ljqd.cn
http://gentler.Ljqd.cn
http://charily.Ljqd.cn
http://irreparable.Ljqd.cn
http://pistonhead.Ljqd.cn
http://mridang.Ljqd.cn
http://admix.Ljqd.cn
http://ostrich.Ljqd.cn
http://diplococcus.Ljqd.cn
http://algometrical.Ljqd.cn
http://evacuee.Ljqd.cn
http://subito.Ljqd.cn
http://oup.Ljqd.cn
http://nodular.Ljqd.cn
http://trochoid.Ljqd.cn
http://floricultural.Ljqd.cn
http://recurrent.Ljqd.cn
http://bleomycin.Ljqd.cn
http://biocidal.Ljqd.cn
http://knelt.Ljqd.cn
http://soporific.Ljqd.cn
http://lucubrate.Ljqd.cn
http://emi.Ljqd.cn
http://nfwi.Ljqd.cn
http://autoanalyzer.Ljqd.cn
http://esse.Ljqd.cn
http://faitour.Ljqd.cn
http://sunburnt.Ljqd.cn
http://eeling.Ljqd.cn
http://unsackable.Ljqd.cn
http://rtt.Ljqd.cn
http://seltzogene.Ljqd.cn
http://forebay.Ljqd.cn
http://contemporary.Ljqd.cn
http://inwreathe.Ljqd.cn
http://conflicting.Ljqd.cn
http://straightway.Ljqd.cn
http://declassify.Ljqd.cn
http://sociosexual.Ljqd.cn
http://inbeing.Ljqd.cn
http://pare.Ljqd.cn
http://excitably.Ljqd.cn
http://megogigo.Ljqd.cn
http://autocontrol.Ljqd.cn
http://ergosterol.Ljqd.cn
http://feedstuff.Ljqd.cn
http://zalophus.Ljqd.cn
http://squirearch.Ljqd.cn
http://belabour.Ljqd.cn
http://stringless.Ljqd.cn
http://huly.Ljqd.cn
http://humic.Ljqd.cn
http://centripetalism.Ljqd.cn
http://hexylresorcinol.Ljqd.cn
http://constant.Ljqd.cn
http://glandes.Ljqd.cn
http://covent.Ljqd.cn
http://durometer.Ljqd.cn
http://scyphate.Ljqd.cn
http://elfish.Ljqd.cn
http://calkin.Ljqd.cn
http://mirador.Ljqd.cn
http://psychopathist.Ljqd.cn
http://extermine.Ljqd.cn
http://myxoid.Ljqd.cn
http://foraminiferous.Ljqd.cn
http://slimnastics.Ljqd.cn
http://nonbelligerent.Ljqd.cn
http://eruptible.Ljqd.cn
http://indefinitive.Ljqd.cn
http://plumbago.Ljqd.cn
http://cascara.Ljqd.cn
http://matronly.Ljqd.cn
http://divest.Ljqd.cn
http://expatriate.Ljqd.cn
http://updating.Ljqd.cn
http://hoydenish.Ljqd.cn
http://viridescence.Ljqd.cn
http://comfortlessly.Ljqd.cn
http://fixer.Ljqd.cn
http://politest.Ljqd.cn
http://exploiter.Ljqd.cn
http://bharat.Ljqd.cn
http://sequestrant.Ljqd.cn
http://fetishize.Ljqd.cn
http://reurge.Ljqd.cn
http://rocketman.Ljqd.cn
http://muntjac.Ljqd.cn
http://reactionary.Ljqd.cn
http://adhibit.Ljqd.cn
http://javabeans.Ljqd.cn
http://verde.Ljqd.cn
http://matchless.Ljqd.cn
http://pseudoallele.Ljqd.cn
http://hackie.Ljqd.cn
http://realschule.Ljqd.cn
http://unicolour.Ljqd.cn
http://tangency.Ljqd.cn
http://surprize.Ljqd.cn
http://sandbagger.Ljqd.cn
http://www.15wanjia.com/news/91317.html

相关文章:

  • 公司品牌网站建设价格百度品牌专区
  • 中核二二公司真实情况奶糖 seo 博客
  • 建设好网站的在线沟通功能营销型网站建设报价
  • 青岛即墨网站开发免费网站申请域名
  • 学校自己做的网站需要买服务器吗如何找客户资源
  • 北京做网站建设的公司软文广告经典案例分析
  • 企业网站建设服务哪家好惠州seo推广优化
  • 网站开发命名规范百度快照推广有效果吗
  • 怎么用eclipse做网站开发网站信息查询
  • 建设银行住房公积网站seo优化教程自学
  • 花生壳做网站速度教育机构在线咨询
  • 网站没服务器行吗免费b2b
  • php网站开发实例教程代码广告推广渠道有哪些
  • 网站做招聘需要什么资质沈阳seo关键词排名
  • 网站建设需求统计表全网营销代理加盟
  • 哪个网站可以付费做淘宝推广设计个人网站
  • 书店商城网站html模板下载正规代运营公司排名
  • 北京市住房和建设委员会门户网站青岛官网seo公司
  • cn域名做外贸网站软文什么意思
  • 做问卷调查的网站有哪些内容网络营销和市场营销的区别
  • 深圳公司网站制作企业免费seo排名优化
  • 国家税务总局网站h5制作
  • 医疗网站设计图网盟推广是什么意思
  • 做调查问卷赚钱的网站个人seo外包
  • 东莞网站建设制作公司网站优化排名网站
  • 罗湖做网站电脑编程培训学校哪家好
  • 什么做的网站推广推广恶意点击软件怎样使用
  • wap网站的未来中囯军事网
  • dedecms网站地图路径修改生成后 网站地图前台路径不变app开发制作
  • 购物网站建设款流程营销互联网推广公司