准备笔试第20天,牛客.mari和shiny牛客.对称之美牛客.最小公倍数牛客.非对称之美
创始人
2024-11-11 07:10:46
0

目录

牛客.mari和shiny

牛客.对称之美

牛客.最小公倍数

牛客.非对称之美


牛客.mari和shiny

1.状态转移方程

s[i]:表示字符串str中[0,i]区间内,有多少个s。

h[i]:字符串str中[0,i]区间内,有多少个sh。

y[i]:字符串str[0,i]区间内,有多少个shy。

2.状态转移方程

(0-i-1)区间

s[i]

h[i]

y[i]

import java.util.*; public class Main{     //多状态dp       public static void main(String[] args)  {       Scanner in=new Scanner(System.in);             int n=in.nextInt();             in.nextLine();             String a=in.nextLine();             char[]str=a.toCharArray();            long[]s=new long[n+1];             long[]h=new long[n+1];             long[]y=new long[n+1];             //初始化,看他是s,就初始化为1             for(int i=1;i<=str.length;i++){                 if(str[i-1]=='s'){                     s[i]=s[i-1]+1;                     h[i]=h[i-1];                     y[i]=y[i-1];                 }else if(str[i-1]=='h'){                     s[i]=s[i-1]; //假如第一个是h,但是前面没有s,所以h还是为0                     h[i]=s[i-1]+h[i-1];                     y[i]=y[i-1];                 }else if(str[i-1]=='y'){                     s[i]=s[i-1];                     h[i]=h[i-1];                     y[i]=h[i-1]+y[i-1];                 }else{                     s[i]=s[i-1];                     h[i]=h[i-1];                     y[i]=y[i-1];                 }             }             System.out.print(y[n]);     } }

牛客.对称之美

import java.util.*; public class Main{     public static boolean check(boolean[][]hash,int left,int right){         for(int i=0;i<26;i++){             if(hash[left][i]&&hash[right][i]){                 return true;             }         }             return false;               } public static void main(String[] args) {        Scanner in=new Scanner(System.in);         int t = in.nextInt();         for(int i=0;i

牛客.最小公倍数

 public static int gcd(int a,int b){         if(b==0)return a;         return gcd(b,a%b);     }

牛客.非对称之美

回文串(一般解法,中心扩展算法,dp,动态窗口等等)

找规律,贪心

如果本身就不是回文串,那么直接返回全部

假如本身是一个字符串,他其实是关于中心对称的,那么只要为对左边或者右边对应的删除一个,就是非回文,

换句话说,我们只需要看一个字符串是不是回文,

除非你是aaaaaa这种,所有这种字符串都相同的时候,这种没有非回文串,只需要返回0。

import java.util.*; public class Main{     public static void main(String[]args){         Scanner in=new Scanner(System.in);         String aa=in.nextLine();         char[]a=aa.toCharArray();         //首先先检查他是不是回文串         int left=0;         int right=a.length-1;         while(left=right)         {             System.out.print(a.length-1);         }else{             System.out.print(a.length);         }             } }

相关内容

热门资讯

微扑克教程!wepoker正确... 微扑克教程!wepoker正确养号方法德州辅助app安卓版最新版更新内容(其实真的有挂)1、进入游戏...
我来教教你!aapoker透视... 我来教教你!aapoker透视插件HHpoker一直输有挂吗(本来真的有挂)1、aapoker透视插...
切实教程!wepoker好友房... 切实教程!wepoker好友房开挂HHpoker辅助开挂方法(一直真的有挂);1、每一步都需要思考,...
技巧教程!wepoker模拟器... 技巧教程!wepoker模拟器哪个好用AApoker最厉害四个辅助(原来真的有挂);1、游戏颠覆性的...
透明挂教程!!智星德州插件怎么... 透明挂教程!!智星德州插件怎么下载wepoker透视软件多少钱(总是真的有挂)1、全新机制【智星德州...
介绍教程!购买wepoker模... 介绍教程!购买wepoker模拟器大头大菠萝可以开挂吗(就是真的有挂);1、首先打开购买wepoke...
第三方教程!哈糖大菠萝辅助器w... 第三方教程!哈糖大菠萝辅助器wepoker德州作弊辅助挂(都是真的有挂);1、每一步都需要思考,不同...
总结教程!拱趴大菠萝作弊方法w... 总结教程!拱趴大菠萝作弊方法wepoker辅助软件下载(一贯真的有挂);1、这是跨平台的拱趴大菠萝作...
必备教程!wepoker数据分... 必备教程!wepoker数据分析wepokerplus辅助作弊(果然真的有挂)1、wepoker数据...
解密教程!黑侠破解wepoke... 解密教程!黑侠破解wepokerwepoker辅助器怎么用(一贯真的有挂)1、下载好黑侠破解wepo...