牛客练习赛19 E和F(签到就走系列)托米的饮料+托米搭积木
生活随笔
收集整理的這篇文章主要介紹了
牛客练习赛19 E和F(签到就走系列)托米的饮料+托米搭积木
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
E題傳送門:點我
F題傳送門:點我
?
可愛的小托米得到了n瓶飲料. 但他不小心把開蓋的工具弄丟了,所以他只能利用飲料瓶來開蓋.已知第i個瓶子的品牌為ai,且其能打開bi品牌的瓶子.
問有幾瓶飲料托米無法喝到.
被用于打開飲料瓶的瓶子不一定需要被打開.
一個瓶子不能打開其本身.
輸入描述:
第一行一個整數n,表示飲料的瓶數.接下來n行,每行兩個整數ai,bi.
輸出描述:
輸出一行一個整數,表示小托米無法喝到的飲料瓶數. 示例1輸入
4 1 1 2 2 3 3 4 4輸出
4 示例2輸入
4 1 2 2 3 3 4 4 1輸出
0
CF原題:http://codeforces.com/problemset/problem/315/A
讀懂題意注意細節即可。。在CFWA過所以清醒點了
代碼:
n = int(input()) a,b,c= [],[],[1]*n for i in range(n):q = input().split()a.append(q[0])b.append(q[1]) for i in range(n):for j in range(n):if i!=j and a[j]==b[i]:c[j] = 0 print(sum(c))?
F題:
這天,可愛的小托米得到了n堆積木,且第i堆積木初始時有ai塊積木.
小托米很快就喜歡上了玩積木.他會作出三種操作:
1.把第v堆的積木數量更改為x.
2.在每堆積木的上面都加上y個積木.
3.數第q堆積木的積木個數.
由于這天可愛的小托米實在是太困了,所以他請你幫他完成這些操作.
輸入描述:
第一行兩個整數n,m. 第二行n個整數,第i個整數代表ai的值. 接下來m行,每行代表一個操作:第一個整數t代表操作的類型
若t=1,則接下來兩個整數v,x,代表操作1.
若t=2,則接下來一個整數y,代表操作2.
若t=3,則接下來一個整數q,代表操作3.
輸出描述:
對于每個操作3,輸出其對應的答案.輸入
10 11 1 2 3 4 5 6 7 8 9 10 3 2 3 9 2 10 3 1 3 10 1 1 10 2 10 2 10 3 1 3 10 3 9輸出
2 9 11 20 30 40 391≤n,m≤ 10^5
1≤ai≤10^9
1≤t≤3
1≤v≤ n,1≤ x≤10^9
1≤y≤10^4
1≤q≤n
思路:簡單的單點瞎維護。// 操作一 ?腦子一抽寫了a[x] = add-y。。送上一發WA。
代碼:
#include<bits/stdc++.h> using namespace std; typedef long long LL; int main(){int n,m;LL a[100001];scanf("%d %d",&n,&m);for(int i = 1 ; i <= n ;i ++){scanf("%lld",&a[i]);}LL add = 0;for(int i = 0; i < m ; i ++){int cmd,x;scanf("%d %d",&cmd,&x);if(cmd == 1){LL y;scanf("%lld",&y);a[x] = y-add;}if(cmd == 2){add += x;}if(cmd == 3){printf("%lld\n",a[x] + add + 0LL);}} }轉載于:https://www.cnblogs.com/Esquecer/p/9123192.html
總結
以上是生活随笔為你收集整理的牛客练习赛19 E和F(签到就走系列)托米的饮料+托米搭积木的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java的Object类
- 下一篇: 格式化输出,运算符,编码,字符串(索引,