首页 > 其他分享 >牛客练习赛102

牛客练习赛102

时间:2022-09-03 17:45:29浏览次数:91  
标签:练习赛 int 牛客 read ans 102 mod include define

A 清楚姐姐的学术群

int main() {
	int n = read(), m = read(), a = read(), b = read();
	for(int i = 1; i <= n; i++) people[i].push_back(0);
	for(int i = 1; i <= m; i++) {
		int x = read(), y = read();
		w[i] = {x, y};
		people[x].push_back(y);
	}
	for(int i = 1; i <= m; i++) w[i].second += w[i-1].second;
//	for(int i = 1; i <= m; i++) cout << w[i] << endl;
	for(int i = a; i <= m; i++) {
		int x = w[i].second - w[i-a].second;
	//	cout << x << endl;
		if(x == a) {
			ans[w[i].first]++;
		}
	}
	for(int i = 1; i <= n; i++) {
		int len = people[i].size();
		for(int j = 1; j <= len; j++) people[i][j] += people[i][j-1];
	}
	for(int i = 1; i <= n; i++) {
		int len = people[i].size();
		for(int j = b; j <= len; j++) {
			int x = people[i][j] - people[i][j-b];
			if(x == b) ans[i]++;
		}
	}
	printf("%d\n", ans.size());
	for(auto x : ans) {
		printf("%d ", x.first);
	}
	return 0;
}

B 清楚姐姐带带我

signed main() {
    int n; cin >> n;
	int ans = 0ll;
	for(int i = 1; i <= n; i++) {
        int a, b; cin >> a >> b;
        if(i == 1 || b == 1) ans = (ans + a) % mod;
        else if(ans == 1 && a >= b) ans = (ans + a) % mod;
        else ans = ans * b % mod;
      //  cout << ans << endl;
	}
	ans %= mod;
	printf("%lld\n", ans);
	return 0;
}

C 清楚姐姐的序列
比赛的时候我是按左端点排序,结果过不了,赛后看别人的代码发现按右端点排序能过,其实我当时也想过按右端点排序,但是没去实现一下。

/*
    qwq!
*/
 
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <map>
#include <vector>
#include <queue>
#include <stack>
#include <set>
#include <cmath>
#include <unordered_map>
using namespace std;
#define pb push_back
#define pu push
#define fi first
#define se second
#define LL long long
#pragma GCC optimize(2)
#define IOS ios::sync_with_stdio(false); std::cin.tie(0),cout.tie(0);
//#define int long long
//#define int __int64
typedef pair<int,int> PII;
const int INF = 0x3f3f3f3f, mod = 1e9 + 7, INF_MAX = 0x7fffffff;
const int N = 2e3 + 10;
//int h[N], e[N], ne[N], idx;
struct node {
    int l, r, x, y;
}w[N];
int ans[N];
 
inline int read () {
    int k=0,f=1;
    char c=getchar ();
    while (c<'0'||c>'9') {if (c=='-') f=-1;c=getchar ();}
    while (c>='0'&&c<='9') {k=k*10+c-'0';c=getchar ();}
    return k*f;
}
 
inline void write(int x){
    if(x<0) putchar('-'),x=-x;
    if(x>9) write(x/10);
    putchar(x%10-'0');
    return;
}
 
inline bool cmp(node a, node b) {
    if(a.r != b.r) return a.r < b.r;
    return a.l < b.l;
}
 
int main() {
    int n = read(), m = read();
    for(int i = 0; i < m; i++) {
        w[i].l = read(), w[i].r = read(), w[i].x = read(), w[i].y = read();
    }
    sort(w, w + m, cmp);
    int k = 0;
    bool success = true;
    for(int i = 0; i < m; i++) {
    	for(int j = w[i].l; j <= w[i].r; j++) {
    		if(!w[i].y) break;
    		if(ans[j]) continue;
    		ans[j] = w[i].x;
    		w[i].y--;
		}
		if(w[i].y) {
			success = false;
			break;
		}
    }   
    if(!success) {
        puts("qcjjddw");
    }else {
        for(int i = 1; i <= n; i++) {
        	if(!ans[i]) cout << 1 << ' ';
        	else cout << ans[i] << ' ';
        }
    }
    return 0;
}

标签:练习赛,int,牛客,read,ans,102,mod,include,define
From: https://www.cnblogs.com/MoonSkyy/p/16653155.html

相关文章

  • 29. 牛客-一人行者
    本来不想为了这题写一篇博客的,但因为昨天被一组数据卡了一个小时,还是有必要来记录一下。牛客练习赛102D:一人行者题意是给一棵树,求断掉每一条边后得到的两棵树各自的联通......
  • "蔚来杯"2022牛客暑期多校训练营6
    A.Array给定\(\geqslant2\)的整数\(a_1,a_2,...,a_n\),满足\(\sum\limits_{i=1}^n\frac{1}{a_i}\leqslant\frac{1}{2}\),构造一个循环数列,使得其任意长度为\(a_i\)的子区......
  • 牛客练习赛102 B-C
    B清楚姐姐带带我 当数大于1e9的时候就取模//#defineintllconstintN=1e5+10,mod=19980829;intn,m;voidsolve(){llres=0;boolflag......
  • 牛客练习赛102
    A对所有消息做一下前缀和,对每个人的消息做一下前缀和,分别判断是否有长度为\(a,b\)的连续段B考虑当前已经算出来前\(i-1\)个操作的最大值\(x\),那么第\(i\)个操作......
  • 2022牛客暑假多校01B[Spirit Circle Observation]
    2022牛客暑假多校01B[SpiritCircleObservation]大致题意给出一个长度为\(n\)的字符串\(s\),求有多少个子串对\((A,B)\),满足\(1.|A|=|B|\)\(2.\overline{A}+1=......
  • 2022牛客多校第8场 I.Equivalence in Connectivity
    题目大意给定一张\(n\)个点\(m\)条边的无向图,定义两张图\(G_1\)和\(G_2\)连通性等价,当且仅当\(\forallu,v\inG_1\),只要在\(G_1\)中\(u\)和\(v\)连通,一定......
  • 2022牛客多校 第9场 C Global Positioning System(讨论+lca+树上差分)
    传送门若干条路径生成了一个无向连通图,只有所有简单回路对应的向量为\(0\)向量时合法。需要改变的边是满足这个边是所有不为\(0\)回路的交且不属于所有为\(0\)的回路。......
  • "蔚来杯"2022牛客暑期多校训练营10 E.Reviewer Assignment
    E.eviewerAssignment题目大意有m篇论文和n个审稿人,给出每个审稿人能审论文的集合,要求给没个审稿人安排一篇论文。令f(i)表示被至少i个审稿人审过的论文数量,要求求出一种......
  • 牛客小白月赛56 A-F
    C题应该是最好的一道题 A阿宁的柠檬分析:酸度是[1,a]甜度是[0,b]总共有n个柠檬,问最小快乐值和最大快乐值最小就是n最大就是n*(a+b)voidsolve(){......
  • PAT Advanced 1029 Median(25)
    题目描述:GivenanincreasingsequenceSofNintegers,themedianisthenumberatthemiddleposition.Forexample,themedianofS1={11,12,13,14}is1......