首页 > TAG信息列表 > maxs

[2008年NOIP普及组] 排座椅

用桶排排序,用贪心找出最优解 #include<bits/stdc++.h>using namespace std; int m,n,k,d,l,a,b,c,e,maxs,bj;int i,j,ii,mm[33000],ll[23000],ms[33000],ls[33000];int main(){ cin>>m>>n>>k>>l>>d; for(j=1;j<=d;j++){ cin>>a>>b>

LOJ #3341. 「NOI2020」时代的眼泪

看题解不要在多个题解之间反复横跳! 题目叙述 平面上若干个点 \((i,p_i)\) ,其中 \(p_i\) 为一个 \(1\sim n\) 的排列,\(m\) 次询问,每次询问一个矩形内部点对满足一个在左下一个在右上的数量。 题解 直接分块。 散块对整块/散块的贡献 预处理 \(s_{i,j}\) 表示 \(1\sim i\) 这些块内,

信息学奥赛1076答案

#include<iostream>using namespace std;int main(int arac,char**argv){ int n,ss,sz,maxs=0; int sum=0; cin>>n; for(int i=1;i<=n;i++) { cin>>ss>>sz; if((ss>=90&&ss<=140)&&(sz>=60&&sz<=90)) {

剑指offer(42)

剑指offer(42) 剑指 Offer 42. 连续子数组的最大和 输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 示例1: 输入: nums = [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 提示: 1

实验8-2-7 字符串的连接 (15 分)

#include <stdio.h> #include <string.h> #define MAXS 10 char *str_cat(char *s, char *t); int main() { char *p; char str1[MAXS + MAXS] = { '\0' }, str2[MAXS] = { '\0' }; scanf("%s%s", str1, str2);

学习笔记——SAM

前言 不想学博弈论不想学 SA 不想学插头 dp,学 lct 被 AxDea D 飞了,那就来学 SAM。 SAM? SAM 是后缀自动机,名义上是后缀,但实际上它能表示出一个字符串的所有不同子串。不同于你的 \(O(n^2)\) 枚举,SAM 构造,节点和边的数量也都是 \(O(n)\) 级别的。 更具体的,SAM 表现为一张 DAG,每条边

LeetCode-7. 整数反转

题目来源 7. 整数反转 题目详情 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−231,  231 − 1] ,就返回 0。 假设环境不允许存储 64 位整数(有符号或无符号)。 示例 1: 输入: x = 123 输出: 321 示例 2: 输入: x

L1-006-连续因子

首先在第1行输出最长连续因子的个数;然后在第2行中按“因子1*因子2*……*因子k”的格式输出最小的连续因子序列,其中因子按递增顺序输出,1不算在内; 开始的思路是循环尝试的暴力方法 1.此题目的原型类似于找素数,利用嵌套的循环来解决。 2.为了防止超时,又因为除了所有素数,至少会有

ZZULIOJ:1159最大的两个数:指针专题

1159: 最大的两个数(指针专题) 时间限制: 1 Sec 内存限制: 128 MB 提交: 10736 解决: 5853 [状态] [讨论版] [提交] [命题人:admin] 题目描述 求n个整数中的最大的两个元素。要求定义一个函数LargestTow(),求数组a的最大的两个元素,分别存入形参指针pfirst和psecond所指存储单元,

《程序设计基础》 第八章 指针 6-12 字符串的连接 (15 分)

本题要求实现一个函数,将两个字符串连接起来。 函数接口定义: char *str_cat( char *s, char *t ); 函数str_cat应将字符串t复制到字符串s的末端,并且返回字符串s的首地址。 裁判测试程序样例: #include <stdio.h> #include <string.h> #define MAXS 10 char *str_cat( char *s, c

习题11-4 字符串的连接 (15 分)

本题要求实现一个函数,将两个字符串连接起来。 函数接口定义: char *str_cat( char *s, char *t ); 函数str_cat应将字符串t复制到字符串s的末端,并且返回字符串s的首地址。 裁判测试程序样例: #include <stdio.h> #include <string.h> #define MAXS 10 char *str_cat( char *s,

csp题集《最大的矩形》-Java

  思路:贪心算法 遍历数组记录,只记录每次最大面积值。 import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] nums = new int[n]; for

PAT甲级--Hashing (25)

更多PAT甲级题解–acking-you.github.io 题目 OJ平台 题目大意 题目中两句话最为核心: Quadratic probing (with positive increments only) is used to solve the collisions. 二次探测(只有正增量)被用来解决冲突。 讲人话就是:用只有正增量的二次探测方法来解决哈希冲突

CSP201312-3 最大的矩形

这题用动态规划,S[i][j]表示坐标i到坐标j之间最大的矩形面积,注意坐标从1开始,一直到n-1 注意元素下标即可 #define _CRT_SECURE_NO_WARNINGS 1 #include<iostream> #include<algorithm> #include<cstdio> #include<stdio.h> #include<string> #include<cstring> #include<cmath

UVa120 煎饼(选择排序思想)

题目背景 给你一迭薄煎饼,请你写一个程式来指出要如何安排才能使这些薄煎饼由上到下依薄煎饼的半径由小到大排好。所有的薄煎饼半径均不相同。 要把薄煎饼排好序需要对这些薄煎饼做翻面(flip)的动作。方法是以一抹刀插入一迭薄煎饼中,然后做翻面的动作(也就是说在抹刀上面的薄煎饼经翻

UVa120 煎饼(选择排序思想)

题目背景 给你一迭薄煎饼,请你写一个程式来指出要如何安排才能使这些薄煎饼由上到下依薄煎饼的半径由小到大排好。所有的薄煎饼半径均不相同。 要把薄煎饼排好序需要对这些薄煎饼做翻面(flip)的动作。方法是以一抹刀插入一迭薄煎饼中,然后做翻面的动作(也就是说在抹刀上面的薄煎饼经翻

[动态规划&深度优先搜索]石子归并

题目描述 你有一堆石头质量分别为W1,W2,W3…WN.(W<=100000)现在需要你将石头合并为两堆,使两堆质量的差为最小。 输入 测试数据第一行为整数N(1<=N<=20),表示有N堆石子。第二行为N个数,为每堆石子的质量。 输出 每组测试数据只需输出合并后两堆的质量差的最小值。 样例输入 5 5 8 13

Coin Change(C++零钱兑换)

(1)dp,完全平方数类似 class Solution { public: int coinChange(vector<int>& coins, int amount) { int maxs=amount+1; int n=coins.size(); vector<int> v(amount+1,maxs); v[0]=0; for(int i=1;i<amount+1;i+

(洛谷)P4657 chase

基本思路 : 首先令a数组表示该点的权值,c数组表示该点所连接的所有点的权值和。 如果我们知道了该点的前驱,那该点的权值就为 $ c[now]-a[pre] $ 。 递进 : 问题在于这是一棵无根树,那我们可以任意定义一点为根, 然后设两个数组 $ s_{i,j} , d_{i,j} $ 分别表示从子树 i 中某个点

蓝桥杯真题-连号区间数

题目描述 小明这些天一直在思考这样一个奇怪而有趣的问题: 在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是: 如果区间[L, R] 里的所有元素(即此排列的第L个到第R个元素)递增排序后能得到一个长度为R-L+1的“连续”数列,则称这个区间连号区间。 当N很小的时候,小

leetcode 85 最大矩形(动态规划做法)

动态规划 很神奇的一个做法。执行速度极快,超越了94%的用户。未完全理解,我先去搞懂84题再回来看 = =。 class Solution { public: int maximalRectangle(vector<vector<char>>& matrix) { if (matrix.size() == 0) return 0; int leftMax[matrix[0].

刷题笔记——单调栈

  保持栈的单调,只有栈为空或比栈顶大/小的元素才可入栈,否则出栈直到满足条件 In order to keep the stack monotonic, only when the stack is empty or the top element of the stack is smaller/bigger than the input one, the element will  be pushed into the stack. Othe

(c语言)01-复杂度2 Maximum Subsequence Sum (25分)(详细讲解)

本实验取材于PTA 拿到此题目时,需要大家做到心里不要着急,毕竟这是一道英文题, 仔细回想,解决一道题目的核心在哪里,肯定或者必然是,输入数据,处理数据和输出数据,首先输入数据要做到给定一个N,输入N个数字 然后输出时,如果子列和为0。那就输出0并且输出首元素和尾元素,因此 #include<

习题11-4 字符串的连接 (15分)

本题要求实现一个函数,将两个字符串连接起来。 函数接口定义: char *str_cat( char *s, char *t );   函数str_cat应将字符串t复制到字符串s的末端,并且返回字符串s的首地址。 裁判测试程序样例: #include <stdio.h> #include <string.h> #define MAXS 10 char *str_cat( cha

D. Race

D. Race https://codeforces.com/group/5yyKg9gx7m/contest/270203/problem/D 分析: 因为他是每秒增加并以该速度前进的。最后要降到指定的速度以下,而且要刚好走完。可以把他想象成一个梯形,从1一直加到能加的最大值maxs,以maxs速度走一段后再速度一直降1。有指定降低的速度,就相当于