首页 > 其他分享 >7.30模考总结

7.30模考总结

时间:2024-07-30 18:40:56浏览次数:11  
标签:总结 std 7.30 return void 模考 inline include define

省流:上300了 (模考难度不大,橙黄绿蓝)

\(7.30\) 晴

\(T1\) 报数游戏Ⅱ

题意简述

求在一段序列前加入一个最小的正整数,使这个序列的每一个前缀和都为正数。

思路:

前缀和扫一遍,找最小前缀和,特判为正数的情况。

\(code\)

#pragma G++ optimize(3, "Ofast", "inline")
#pragma G++ optimize(2)
#include <iostream>
#include <cassert>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
#include <map>
#include <cmath>
#include <queue>
#include <set>
#include <climits>
#include <random>
#include <bitset>
#include <unordered_map>
#define C(y,x) fac[y]/fac[(y)-(x)]/fac[x]
#define _max(a,b) (a>b?a:b)
#define _min(a,b) (a<b?a:b)
#define orz %
#define ll long long
#define int long long
#define juruo Optimist_Skm
#define mid (l + r >> 1)
#define pii std::pair<int, int>
#define fi first
#define se second
#define eb emplace_back
#define pb push_back
#define m_p std::make_pair
#define pq std::priority_queue<int>
#define pq_min_std::priority_queue<int, std::vector<int>, std::greater<int> >
#define pq_min_pii std::priority_queue<pii, std::vector<pii>, std::greater<pii> >
#define open(x) freopen(#x".in", "r", stdin);freopen(#x".out", "w", stdout);
#define test(x) cout << "Test: " << x << '\n'
#define close fclose(stdin);fclose(stdout);
#define ull unsigned long long
#define debug(); printf("Skmqwq\n");

namespace Fast_Skm {

	template <typename T>
	inline void read(T &x) {
		T s = 0, w = 1;
 		char c = getchar();
		while(!isdigit(c)) {
			if(c == '-')  w  = -1;
			c = getchar();
		}
		while(isdigit(c))
			s = (s << 1) + (s << 3) + (c & 0xcf), c = getchar();
			
		x = s * w;
		return ;
	}

	template <typename T, typename... Arp>
	inline void read(T &x, Arp &...arp) {
		read(x), read(arp...);
        return ;
	}

	template <typename T>
	inline void write(T x) {
		if(x < 0) x = -x, putchar('-');
		int p = 0;
		static char s[100];
		do {
			s[++p] = x orz 10 + '0';
			x /= 10;
		} while (x);
		while(p) putchar(s[p--]);
		putchar(' ');
	}

	template <typename T, typename... Arp>
	inline void write(T &x, Arp &...arp) {
		write(x), write(arp...);
		return ;
	}

	template <typename S, typename T>
	inline void smax(S &x, T y) {
		x = (x > y) ? x : y;
	}

	template <typename S, typename T>
	inline void smin(S &x, T y) {
		x = (x < y) ? x : y;
	}

	inline void quit() {
		exit(0);
		return ;
	}
	
	inline ll quick_pow(ll a, ll b, ll P) {
		ll ans = 1;
		while(b >= 1) {
			if(b & 1) {
				ans = ans * a % P;
			}
			a = a * a % P;
			b >>= 1;
		}
		return ans;
	}
	
	template <typename T>
	inline T exgcd(T a, T b, T &x, T &y) {
		if(b == 0) {
		 	x = 1; y = 0;
		 	return a;
		}
		int gcd = exgcd(b, a % b, x, y);
		int tmp = y;
		y = x - a / b * y;
		x = tmp;
		return gcd;
	}

} using namespace Fast_Skm;

const int N = 1e5 + 7;
int n, a[N];
ll sum[N];

signed main() {

	std::ios::sync_with_stdio(false);
	std::cin.tie(0);
	std::cout.tie(0);

	read(n);
	for (int i = 1; i <= n; ++i) {
		read(a[i]);
	}

	for (int i = 1; i <= n; ++i) {
		sum[i] = sum[i - 1] + a[i];
	}

    ll ans = sum[1];
	for (int i = 2; i <= n; ++i) {
		smin(ans, sum[i]);
	}

	if (ans > 0) {
		write(1);
	} else {
		write(-ans + 1);
	}

	return 0;
}

标签:总结,std,7.30,return,void,模考,inline,include,define
From: https://www.cnblogs.com/optimist-skm/p/18333133

相关文章

  • leetcode题目总结
    前言本文为leetcode上的题目简单分析总结,仅作记录,欢迎提出建议,共同学习交流。 390.消除游戏列表 arr 由在范围 [1,n] 中的所有整数组成,并按严格递增排序。请你对 arr 应用下述算法:从左到右,删除第一个数字,然后每隔一个数字删除一个,直到到达列表末尾。重复上面的步......
  • Python 字节串转Hex字符串(一个久远的问题点总结)
    时间:2024.07.30作者:Yuan  这是一个今天看来似乎有点久远的问题,但是值得被记录和澄清一下!  那是在2022年1月份参与的一个项目中遇到的问题,大概需求是利用SHT40-AD1B-R2芯片,读取环境温度。其实就是通过i2c与这个温度传感器建立通讯,然后读取温湿度信息,对于上位机的......
  • 7.30 看到别人的历程有感
    看到“会说话的汤姆猫”的制作者创业故事,我深受启发。他们目标明确,清楚自己在技术方面与主流游戏厂商有不小的差距,因此选择了避开竞争激烈的红海市场,另辟蹊径,瞄准了尚未被充分开发的蓝海市场。面对广阔的蓝海市场,他们采取了最快速的研发策略,力求尽快占领市场先机。同时,他们在试......
  • 嵌入式必备知识总结(一)
    计算机系统结构    计算机系统结构是计算机科学中的一个重要领域,研究计算机系统的设计和组织。计算机系统结构主要关注以下几个方面:1.计算机硬件组成a.中央处理单元(CPU)CPU是计算机的核心,负责执行指令并控制其他硬件组件。算术逻辑单元(ALU):执行算术和逻......
  • 7.30第三周周二学习总结
    1vj团队5补题(上午)https://vjudge.net/contest/643995题解2cfr950(下午)https://vjudge.net/contest/643996#google_vignette最大公约数非递减序列重点1.思维:删去一个ai时,需要删除ai与前后的公因数,并加上ai-1与ai+1的最大公因数。3cf团队赛6补题(下午)思维转化题意:n个......
  • git简单使用总结
    概述Git是一种分布式版本控制系统。要想深刻理解Git的工作原理,需要理解理解Git的三个存放区域:本地工作目录、暂存区和仓库,也可以称为三棵树,不过在仓库这个地方又可以分为本地仓库和远程仓库。WorkingDirectory:本地工作目录(工作区)Stage(Index):暂存区Reposi......
  • 亏钱、踩坑总结的经验之:合伙开宵夜档口!
    亏钱、踩坑总结的经验之:合伙开宵夜档口!今年上半年开了一间宵夜档,是跟以前同事三个人合伙的,开之前说的好听的不得了,分工明确,做哪些产品要怎么怎么做利润高的能赚钱的,一切都想象的很美好,感觉今年肯定要发财,汽车之家每天都看好几遍。结果一开工,说好六点开工,每天两个人八点还没来......
  • 2024.7.30 test
    A有一个数\(n\)和\(m\)种操作,第\(i\)次操作使得\(n\getsn/A_i\),问最多遍历多少个数。\(n\le10^5,m\le10\)。不难发现暴力即可通过。B给定集合\(S\),对于每个\(i\in[1,m]\)你需要求出选择数最多和最少的值使得\(\gcd=i\)。\(n,S_i\le3e5\)。首先对于每个\(i......
  • lca总结+树上差分
    lcalca简称最近公共祖先——简介在此,不过多赘述这里主要写的是倍增算法,oi-wiki上用的是vector,由于本人不会,只会用链表,所以这里就放链表的代码了例题加一个数组按倍增数组的方式存距离即可题解——点击查看代码#include<bits/stdc++.h>#defineintlonglongconstint......
  • MYSQL学习总结
    事务:一个不可拆分的操作,要么全部执行完,要么全都不执行;隔离级别:总共有四个,分别是ReadUncommitted(读取未提交内容),ReadCommitted(读取提交内容),RepeatableRead(可重读),Serializable(可串行化);ReadUncommitted(读取未提交内容):一个事务可以读取另一个事务未提交的数据;如果另一个事务......