为帮助大家能在6月18日的比赛中有一个更好的成绩,我会将蓝桥杯官网上的历届决赛题目的四类语言题解都发出来。希望能对大家的成绩有所帮助。
今年的最大目标就是能为【一亿技术人】创造更高的价值。
资源限制
内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s
C++#includeC#include #include #include using namespace std; #define N 100050 #define ll long long char s[N]; ll ans=0; int pre[N],nex[N],pos[N]; int main(){ scanf("%s",s+1); int len=strlen(s+1); for(int i=1;i<=len;i++){ pre[i]=pos[s[i]-'a'+1]; nex[pos[s[i]-'a'+1]]=i; pos[s[i]-'a'+1]=i; } for(int i=1;i<=26;i++){ if(pos[i]){ nex[pos[i]]=len+1; } } for(int i=1;i<=len;i++){ ans+=(1ll*i-pre[i])*(1ll*nex[i]-i); } printf("%lldn",ans); }
#includeint pdws(int,char []); long long js(char [],int); int main(void) { char zc[100000]={0}; scanf("%s",&zc); int ws=pdws(100000,zc); printf("%lldn",js(zc,ws)); return 0; } long long js(char zc[],int ws) { int i,k=ws,l,zm[26][2]={{-1,-1},{-1,-1},{-1,-1},{-1,-1},{-1,-1}, {-1,-1},{-1,-1},{-1,-1},{-1,-1},{-1,-1}, {-1,-1},{-1,-1},{-1,-1},{-1,-1},{-1,-1}, {-1,-1},{-1,-1},{-1,-1},{-1,-1},{-1,-1}, {-1,-1},{-1,-1},{-1,-1},{-1,-1},{-1,-1},{-1,-1}}; long long sc=0; for(i=0;i Java import java.util.*; import java.io.*; public class Main { static long n, m, ans; static String s; public static void main(String[] args) throws Exception{ s = i.readLine(); int[][] cnt = new int[26][2]; for (int i = 0;i < 26;i++){ cnt[i][0] = cnt[i][1] = -1; } for (int i = 0;i < s.length();i++){ int cur = s.charAt(i)-'a'; if (cnt[cur][0] == -1) cnt[cur][0] = i; else{ cnt[cur][1] = cnt[cur][0]; cnt[cur][0] = i; } for (int j = 0;j < 26;j++){ ans += (cnt[j][0]-cnt[j][1]); } } out.println(ans); out.flush(); } static BufferedReader i = new BufferedReader(new InputStreamReader(System.in)); static BufferedWriter o = new BufferedWriter(new OutputStreamWriter(System.out)); static StreamTokenizer in = new StreamTokenizer(i); static PrintWriter out = new PrintWriter(o); static int nextInt() throws Exception{ in.nextToken(); return (int)in.nval; } static long nextLong() throws Exception{ in.nextToken(); return (long)in.nval; } }Pythonls=list(input()) ls_=set(ls) index=dict(list(zip([s for s in ls_],[[] for _ in range(len(ls_))]))) count=0 for i in range(len(ls)): index[ls[i]].append(i) for x in ls_: s=index[x] s.insert(0,-1) s.append(len(ls)) for y in range(1,len(s)-1): count+=(s[y]-s[y-1])*(s[y+1]-s[y]) print(count)



