日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

hud 4455 Substrings 解题报告

發(fā)布時(shí)間:2025/3/13 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hud 4455 Substrings 解题报告 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題意:給你一個(gè)序列 , 然后給你q個(gè)詢(xún)問(wèn)t,問(wèn)這個(gè)序列中t個(gè)連續(xù)的子集中不同元素個(gè)數(shù)的和;

解題思路:http://www.cnblogs.com/kuangbin/archive/2012/11/11/2765329.html

解題代碼:

// File Name: c.c // Author: darkdream // Created Time: 2013年05月31日 星期五 18時(shí)14分34秒 #include<stdio.h> #include<string.h> #include<stdlib.h> #include<time.h> #include<math.h> int a[1000010]; int c[1000010]; int b[1000010]; int f[1000010]; long long dp[1000010]; int main(){//freopen("/home/plac/problem/input.txt","r",stdin);//freopen("/home/plac/problem/output.txt","w",stdout);int n ;while(scanf("%d",&n) != EOF,n){ memset(dp,0,sizeof(dp));memset(a,0,sizeof(a));memset(c,0,sizeof(c));memset(b,0,sizeof(b));memset(f,0,sizeof(f));for(int i = 1;i <= n;i ++){ scanf("%d",&a[i]);c[i-f[a[i]]] ++;f[a[i]] = i ;}memset(f,0,sizeof(f));b[1] = 1;f[a[n]] = 1;for(int i = 2;i <= n;i ++){if(f[a[n-i+1]] == 0){f[a[n-i+1]] = 1;b[i] = b[i-1]+1;}else b[i] = b[i-1];}dp[1] = n;int sum = n;for(int i = 2 ; i <= n; i ++){dp[i] = dp[i-1] - b[i-1];sum-= c[i-1];dp[i]+= sum;}int q; scanf("%d",&q);while(q--){int temp;scanf("%d",&temp);printf("%I64d\n",dp[temp]) ;}}return 0 ; } View Code

?

轉(zhuǎn)載于:https://www.cnblogs.com/zyue/archive/2013/06/01/3111769.html

總結(jié)

以上是生活随笔為你收集整理的hud 4455 Substrings 解题报告的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。