国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

做30個(gè)精品網(wǎng)站北京做網(wǎng)站的公司有哪些

做30個(gè)精品網(wǎng)站,北京做網(wǎng)站的公司有哪些,wordpress設(shè)置smtp,福建省住房和建設(shè)廳網(wǎng)站下面是美團(tuán)2024-03-16筆試真題&#xff0c;進(jìn)行了VP&#xff0c;由于未參與評測&#xff0c;故不保證正確性&#xff0c;僅供參考。 第一題 小美點(diǎn)外賣 求和然后減去滿減和紅包即可。 #include <bits/stdc.h> using namespace std; using LL long long ; int n, t, x,…

下面是美團(tuán)2024-03-16筆試真題,進(jìn)行了VP,由于未參與評測,故不保證正確性,僅供參考。

第一題 小美點(diǎn)外賣

在這里插入圖片描述

求和然后減去滿減和紅包即可。

#include <bits/stdc++.h>
using namespace std;
using LL = long long ;
int n, t, x, y;
LL ans;int main() {scanf("%d", &n);while (n -- ) {scanf("%d", &t);ans += t;}scanf("%d%d", &x, &y);printf("%lld\n", ans - x - y);
}

第二題 小美的合法單詞

在這里插入圖片描述

考慮三種情況分別需要的操作次數(shù),取最小值即可。

先掃描字符串s,并用變量big和small分別統(tǒng)計(jì)字符串s中大寫字母、小寫字母的個(gè)數(shù)。

然后還要處理第一個(gè)字符是大寫的情況:

首先初始化變量t=s.size(),當(dāng)?shù)谝粋€(gè)字符是大寫字母時(shí),執(zhí)行t = t - 1 - small。減去1是因?yàn)槿サ舻谝粋€(gè)大寫字母,然后再減去small,這樣得到的就是后面剩余的大寫字符個(gè)數(shù)。

為什么是t-1-small而不是t-1-big呢?舉個(gè)例子:s=“AaaBbCD”,此時(shí)big=4,small=3。

  • 若執(zhí)行t-1-big,則此時(shí)t的結(jié)果就是2,那么答案為min{big, small, t} = 2,但顯然答案應(yīng)該是3(將后面的B,C,D修改為小寫)。
  • 若執(zhí)行t-1-small,則此時(shí)t的結(jié)果就是3,那么答案為min{big, small, t} = 3,這顯然就是正確答案3(將后面的B,C,D修改為小寫)。

說白了就是由于題目要求第一個(gè)字母大寫,后面所有字母都是小寫。t-1-small就是將后面統(tǒng)計(jì)除了首位這個(gè)大寫字母外剩余部分的大寫字母個(gè)數(shù),而我們需要將這些大寫字母個(gè)數(shù)就是我們需要修改為小寫字母所需要的操作次數(shù)。

#include <bits/stdc++.h>
using namespace std;int main() {string s;cin >> s;int big = 0, small = 0, t = s.size();for (auto& c : s) {if (c >= 'A' && c <= 'Z')   ++ big;else if (c >= 'a' && c <= 'z')  ++ small;}if (s[0] >= 'A' && s[0] <= 'Z') t = t - 1 - small;printf("%d\n", min({small, big, t}));
}

第三題 翻倍元素

在這里插入圖片描述

統(tǒng)計(jì)每個(gè)元素最后翻倍的次數(shù)即可。

如下表:

數(shù)組元素a[]翻倍次數(shù)times[]最終結(jié)果
a[1]=11 1 × 2 1 1\times 2^1 1×21
a[2]=21 2 × 2 1 2\times 2^1 2×21
a[3]=32 3 × 2 2 3\times 2^2 3×22
a[4]=42 4 × 2 2 4\times 2^2 4×22

因此最終結(jié)果為2、4、12、16,答案即為2+4+12+16=34。

對于快速求 a b a^b ab顯然可以使用快速冪。

#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10, MOD = 1e9 + 7;
int a[N], times[N], n, m;int qmi(int a, int b) {int ans = 1;while (b) {if (b & 1)  ans = ans * a % MOD;a = a * a % MOD;b >>= 1;}return ans % MOD;
}int main() {scanf("%d%d", &n, &m);for (int i = 1; i <= n; ++ i) {scanf("%d", &a[i]);times[i] = m;}for (int i = 1; i <= m; ++ i) {int x;scanf("%d", &x);-- times[x];}int ans = 0;for (int i = 1; i <= n; ++ i) {ans = (ans + a[i] * qmi(2, times[i]) % MOD) % MOD;}printf("%d\n", ans);
}

第四題 小美的眾數(shù)

在這里插入圖片描述

首先需要觀察到元素 a i a_i ai?只有1和2這兩種取值。由于它的數(shù)值只有1和2,所以記錄一個(gè)前綴和。如果說當(dāng)前值是1就前綴和加1,如果說當(dāng)前值是2,就前綴和減1。即我們定義數(shù)組 s i s_i si?表示區(qū)間 [ 1 , i ] [1,i] [1,i]中元素1和元素2的被標(biāo)記為+1和-1之后的前綴和。

對于一個(gè)前綴和 s i s_i si?來說,它前面有多少個(gè) s j s_j sj?的值比 s i s_i si?小,就說明,1的個(gè)數(shù)會大于等于2的個(gè)數(shù),那么這些數(shù)量的區(qū)間,眾數(shù)必然是元素1。 i i i減去這些區(qū)間的數(shù)量,也就是剩下的區(qū)間數(shù)量,眾數(shù)就是2了。

對于如何求一個(gè)前綴和 s i s_i si?來說,它前面有多少個(gè) s j s_j sj?的值比 s i s_i si?小,這可以用樹狀數(shù)組來求解。

為什么要加偏移量OFFSET = n+1呢?

這是因?yàn)閿?shù)組s[]取值有可能是負(fù)數(shù)(這是由于將元素1和元素2的被標(biāo)記為+1和-1導(dǎo)致的),最壞情況下s[]取值可能是 ? n -n ?n。但是我們知道樹狀數(shù)組下標(biāo)是從1開始的,不能是<1的,故我們加上偏移量n+1,使得保證樹狀數(shù)組的下標(biāo)是正確從1開始。

如何理解query(s[i] + OFFSET) + (i - query(s[i] + OFFSET)) * 2這個(gè)式子呢?

  • query(s[i] + OFFSET)其實(shí)完整寫法是query(s[i] + OFFSET) * 1,它求解的是如果當(dāng)前區(qū)間 [ 1 , i ] [1,i] [1,i]中的眾數(shù)是元素1的話,那么就求這些子區(qū)間中眾數(shù)1的總和。
  • (i - query(s[i] + OFFSET)) * 2,它求解的是如果當(dāng)前區(qū)間 [ 1 , i ] [1,i] [1,i]中的眾數(shù)是元素1的話,那么就求這些子區(qū)間中眾數(shù)1的總和。當(dāng)前有 i i i個(gè)元素,其中眾數(shù)是元素1的個(gè)數(shù)有query(s[i] + OFFSET)個(gè),那么眾數(shù)是元素2的個(gè)數(shù)就為(i - query(s[i] + OFFSET))。然后求這些子區(qū)間中眾數(shù)2的總和即可。
#include <bits/stdc++.h>
const int N = 2e5 + 10;
using LL = long long ;
int a[N], s[N], tr[N * 2], n;inline int lowbit(int x) {return x & -x;
}void modify(int x, int k) {for (int i = x; i <= 2 * n + 10; i += lowbit(i)) tr[i] += k;
}LL query(int x) {LL ans = 0;for (int i = x; i; i -= lowbit(i)) ans += tr[i];return ans;
}int main() {scanf("%d", &n);int OFFSET = n + 1;	// 偏移量,防止下標(biāo)是負(fù)數(shù),使得下標(biāo)從1開始for (int i = 1; i <= n; ++ i) scanf("%d", &a[i]);modify(0 + OFFSET, 1);  // 邊界初始化!!!LL ans = 0;for (int i = 1; i <= n; ++ i) {if (a[i] == 1)  s[i] += s[i - 1] + 1;else    s[i] += s[i - 1] - 1;// query(s[i] + OFFSET) * 1計(jì)算出如果1是眾數(shù)時(shí)的和// (i - query(s[i] + OFFSET)) * 2計(jì)算出如果2是眾數(shù)時(shí)的和ans += query(s[i] + OFFSET) + (i - query(s[i] + OFFSET)) * 2;modify(s[i] + OFFSET, 1);}printf("%lld", ans);
}

第五題 小美的逆序?qū)?/h3>

在這里插入圖片描述

本題可以考慮使用樹狀數(shù)組來求逆序?qū)Α?/p>

我們可以先對原數(shù)組求一遍逆序?qū)?。對于?span id="ieo6y2aa" class="katex--inline"> i i i個(gè)數(shù)字,它在變?yōu)樽钚〉臄?shù)字后,在它之前的所有比它小的數(shù)字都會和它組成逆序?qū)?#xff0c;在它之后所有比它小的數(shù)字會由原本構(gòu)成逆序?qū)D(zhuǎn)變成不構(gòu)成逆序?qū)?。設(shè)在它左側(cè)比它小的數(shù)字的個(gè)數(shù)為cnt,那么在它右側(cè)比它小的數(shù)字的個(gè)數(shù)就是x - 1 - cnt。因此當(dāng)元素x取反后,它左側(cè)這cnt個(gè)數(shù)字就比x大,增加了cnt個(gè)逆序?qū)?#xff0c;然后它右側(cè)這x-1-cnt個(gè)數(shù)字就比x大,減少了x-1-cnt個(gè)逆序?qū)ΑS纱四嫘驅(qū)Φ脑隽烤褪?code>x - (x - 1 - cnt)個(gè)。考慮原本的逆序?qū)?shù)目s,則第 i i i個(gè)數(shù)字取反后的逆序?qū)?shù)目為s + x - (x - 1 - cnt)。

#include <bits/stdc++.h>
const int N = 2e5 + 10;
using LL = long long ;
int t[N], tr[N], n;inline int lowbit(int x) {return x & -x;
}void modify(int x, int k) {for (int i = x; i <= n; i += lowbit(i)) tr[i] += k;
}LL query(int x) {LL ans = 0;for (int i = x; i; i -= lowbit(i)) ans += tr[i];return ans;
}int main() {scanf("%d", &n);LL s = 0;for (int i = 1; i <= n; ++ i) {int x;scanf("%d", &x);s += query(n) - query(x);// cnt表示x左側(cè)比x小的元素個(gè)數(shù), x - 1 - cnt表示x右側(cè)比x小的元素個(gè)數(shù)LL cnt = query(x - 1);t[i] = cnt - (x - 1 - cnt);modify(x, 1);}for (int i = 1; i <= n; ++ i) printf("%lld ", s + t[i]);
}

http://aloenet.com.cn/news/46115.html

相關(guān)文章:

  • 網(wǎng)站開發(fā)教育培訓(xùn)百度排名點(diǎn)擊器
  • 假的建設(shè)銀行網(wǎng)站國際時(shí)事新聞2022最新
  • 制作書簽簡單又漂亮seo網(wǎng)站優(yōu)化怎么做
  • 設(shè)計(jì)公司調(diào)研報(bào)告怎么學(xué)seo基礎(chǔ)
  • 做網(wǎng)站開源互聯(lián)網(wǎng)推廣運(yùn)營
  • meetsh網(wǎng)站建設(shè)營銷策劃公司介紹
  • 扒下來的網(wǎng)站怎么做修改seo教學(xué)視頻教程
  • 網(wǎng)站后臺出現(xiàn)亂碼網(wǎng)絡(luò)營銷推廣的方式
  • 網(wǎng)絡(luò)公司的名字優(yōu)化手機(jī)流暢度的軟件
  • 網(wǎng)店代運(yùn)營怎么做廣東seo網(wǎng)站設(shè)計(jì)
  • 網(wǎng)站開發(fā)女生可以做嗎淘寶指數(shù)網(wǎng)站
  • 京東商城網(wǎng)站地址是多少今日最新的新聞
  • 旅游信息網(wǎng)站開發(fā)背景站內(nèi)關(guān)鍵詞排名優(yōu)化軟件
  • 建設(shè)部網(wǎng)站1667號北京seo外包平臺
  • 網(wǎng)站點(diǎn)擊率多少正常怎樣在百度做廣告宣傳
  • 湖北移動網(wǎng)站建設(shè)互聯(lián)網(wǎng)營銷的五個(gè)手段
  • 網(wǎng)站怎么做推廣和優(yōu)化seo推廣知識
  • 泰州網(wǎng)站建設(shè)多少錢北京環(huán)球影城每日客流怎么看
  • 做網(wǎng)站建設(shè)價(jià)格網(wǎng)絡(luò)軟文營銷案例3篇
  • 網(wǎng)站建設(shè)需要多少錢小江網(wǎng)頁設(shè)計(jì)seo網(wǎng)絡(luò)推廣外包公司
  • 網(wǎng)站開發(fā)需求書接推廣一般多少錢
  • 昆明房產(chǎn)網(wǎng)站建設(shè)seo全網(wǎng)營銷
  • 建設(shè)網(wǎng)站公司 優(yōu)幫云網(wǎng)站排名優(yōu)化專業(yè)定制
  • 哪些網(wǎng)站可以做調(diào)查賺錢廣告關(guān)鍵詞有哪些類型
  • 政府網(wǎng)站用的什么cms系統(tǒng)常州seo排名收費(fèi)
  • 泉州seo-泉州網(wǎng)站建設(shè)公司正規(guī)推廣平臺有哪些
  • 外貿(mào)網(wǎng)站銷售方式好用搜索引擎排名
  • dw制作網(wǎng)站站長聯(lián)盟
  • 做網(wǎng)站違法嘛萬能軟文模板
  • 做免費(fèi)網(wǎng)站怎么賺錢品牌推廣方案