首页 > TAG信息列表 > cnt2

QOJ3225 Snake

等价于对于折线每个端点,都能找到一条直线使得所有之前和之后的点分立两侧,在每个点处极角排序 + 双指针即可。 #include <stdio.h> #include <algorithm> typedef long long ll; const int MAXN = 1010; int n, tot; struct point{ ll x, y; int id; }; point a[MAXN], b

YACS 两数之积 题解

link   分别考虑原数组 $a[]$ 中所有的正数,负数以及 0 的数量:设 $a[]$ 中正数的数量为 $cnt1$ 个,把 $a[]$ 中所有正数保存在 $bz[]$ 数组中,负数数量为 $cnt2$ 个,保存在 $bf[]$ 数组中,0 的数量为 $cnt0$ 个。----------------------------------设 $x1$, $x0$, $x2$ 分别为两两相

1012 数字分类 测试点8

易错点 测试点8:A2的和为零但不为空的情况 代码 #include <iostream> #include <cstdio> #include <iomanip> using namespace std; int a[1002]; int main() { int n; int cnt1=0; int cnt2=0; int cnt22=0; int tmp2=1; int cnt3=0; int cnt41=0; int cnt42=0; int

(未完)Codeforces Round #798 (Div. 2) AB...

Codeforces Round #798 (Div. 2) https://codeforces.com/contest/1689 菜鸟来补题了。。。还妹写完 AB过的有些出乎意料,毕竟我是乱构造的 A. Lex String A要干啥来着,,不记得了,明天看看 #include <bits/stdc++.h> using namespace std; void solve () { int n, m, k; cin

vue3 watch监听多个数据

第一个参数返回ref数组即可 <script setup lang="ts"> const cnt1 = $ref(0) const cnt2 = $ref(0) watch(() => [cnt1, cnt2], () => console.log(cnt1, cnt2)) </script> <template> <div> <button btn @click="cnt1++&

剑指 Offer 09. 用两个栈实现队列

用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 示例 1:输入:["CQueue","appendTail","deleteHead","deleteHead"][[],[3],[],[]]输出:[null

AtCoder Beginner Contest 247 赛时记录

目录A - Move RightB - Unique NicknamesC - 1 2 1 3 1 2 1D - CylinderE - Max MinF - CardsG - Dream Team 切了四题就摸去给学妹讲题了(,EFG 都是赛后花 40min 做/口胡 的,实际上也受到了 nyy 提示的影响 A - Move Right 去掉字符串最后一位,在前面加上一个 \(0\) 然后输出即可。 i

ABC246 简要题解

A 由题意模拟,在已知的 \(3\) 个点中仅出现 \(1\) 次的横坐标即为缺失的那个,纵坐标同理。 int a,b,c,d,e,f,x,y; map<int,int> cnt1,cnt2; signed main(){ cin>>a>>b>>c>>d>>e>>f; ++cnt1[a],++cnt1[c],++cnt1[e]; ++cnt2[b],++cnt2[d],++cnt2[f]; if(cnt1[

ccfcsp202009-2 风险人群筛查

目录题目描述简单模拟分析代码时间复杂度参考文章 题目传送门 题目描述 简单模拟 分析 代码 #include<iostream> #include<cstdio> #include<algorithm> #include<vector> using namespace std; typedef pair<int, int> PII; const int N = 1010; vector<PII> people[30]; i

AtCoder Beginner Contest 237 G - Range Sort Query

原题链接 G - Range Sort Query 思路: \(x\)是固定的,所以考虑将排序维护成0 1串,为\(p_i < x\)为\(0\),那么\(p_i \geq x\)为\(1\),那么这样就可以用线段树维护了,我们可以维护每个区间1的个数,设为\(cnt\),对于升序来说,设我们需要更新的这个区间\([l, r]\),那么现在查询后,更新新的区间就

leetcode刷题——字符串的排列(Java)

1.题目 2.条件与思路 统计s1各个字符的数量保存至cnt1[26],利用两个指针,两个指针中间相差s1的长度,统计指针之间的字符个数保存至cnt2,分别对于比较下标相同的值是否相同,如果全部相同表示可以返回true,否则同时移动两个指针一步,循环如此。 3.解题过程 class Solution { pub

选择困难症[NC13594]折半搜索+二分

选择困难症[NC13594]折半搜索+二分 题目描述 小L有严重的选择困难症。 早上起床后,需要花很长时间决定今天穿什么出门。 假设一共有k类物品需要搭配选择,每类物品的个数为Ai,每个物品有一个喜欢值Vj,代表小L对这件物品的喜欢程度。 小L想知道,有多少种方案,使得选出来的总喜欢值>M 需

字符串的排列

太久没写博客,随便来一个class Solution { public boolean checkInclusion(String s1, String s2) { int n=s1.length(); int m=s2.length(); if(n>m) return false; //cnt1为s1的字符次数 //cnt2为s1的子串的字符次数 int

Range and Partition (贪心+双指针)

D. Range and Partition [Link](D. Range and Partition) 题意 给你一个长为 n n n的数组,让你分成 k k

P4119 [Ynoi2018] 未来日记

P4119 [Ynoi2018] 未来日记 有一个长为 \(n\) 的序列 \(a\),有 \(m\) 次操作: 把区间 \([l,r]\) 内所有的 \(x\) 变成 \(y\)。 查询区间 \([l,r]\) 内第 \(k\) 小值。 \(1 \leq n,m,a_i \leq 10^5\),时限 \(1.00\text{s}\),空限 \(512\text{MB}\)。 sol 最初分块。 难度评分:\(8.5\)

CF 1266D - Decreasing Debts

题目链接: https://codeforces.com/problemset/problem/1266/D 题目大意: 有 \(n\) 个人,有 \(m\) 条债务关系,定义 \(d(a, b)\) 表示 \(a\) 欠 \(b\) 块钱,如果 \(c\) = 0,那么就相当于没有债务关系,现在想简化每个人之间的债务关系。 有以下两种简化方案, 1、当 d(a, b) > 0,d(c, d) > 0

洛谷 P8003 题解

Hard Brackets Inserting - 洛谷 提交率 1.13k 但是通过人数 22 最可怕的是还是道蓝题。 这个题的通过率比较离谱,不过也可以理解,因为这道题的性质有点容易想错,即使非常接近也过不了这道题。 我们通过简单的手摸可以发现简单的规律,我们发现我们填进去的括号首先一定不能够形成新的

有效的括号字符串

题目 给定一个只包含三种字符的字符串:( ,) 和 *,写一个函数来检验这个字符串是否为有效字符串。有效字符串具有如下规则: 任何左括号 ( 必须有相应的右括号 )。任何右括号 ) 必须有相应的左括号 ( 。左括号 ( 必须在对应的右括号之前 )。*可以被视为单个右括号 ) ,或单个左括号 ( ,

SP1798 ASSIST - Assistance Required 题解

Content 有一个足够长的数列 \(a\),是一个首项为 \(2\),公差为 \(1\) 的等差递增数列。另有一个初始为空的数列 \(b\)。 重复进行如下操作: 假设当前数列 \(a\) 第一项为 \(x\)。将 \(x\) 放在数列 \(b\) 的最后。 不断将第 \(kx+1(k\in\mathbb N^*)\) 项丢出数列 \(a\) 且不放入数

川大新生赛----羊工八刀----数学思维+前缀和

这题第一眼以为是差分,第二眼以为是dp,其实只是一个数学公式的化简 题目链接 对于每个含1的位置i,预处理出其前边所有位置的贡献就是 前i个数里,如果位置x是1,则加上(i-x)^2 公式化简就是 cnt1[i]*i*i+cnt3[i]-2*i*cnt2[i] #include<iostream> #include<cstring> #include<algorithm

记一个,做了挺久蛮有成就感的万恶清明sama!

    #include<stdio.h>int main(){   int n,m,a[105][105];   int max[3]={0},max1,max2;   int cnt1[105]={0},cnt2[105]={0};   scanf("%d %d",&n,&m);   for(int i=0;i<n;i++)   {     for(int j=0;j<m;j++)

「JOI 2018 Final」毒蛇越狱

「JOI 2018 Final」毒蛇越狱 题面: JOI 研究所有 条毒蛇,这些毒蛇编号为 \(0,1,\dots,2^L-1\) 。每条毒蛇从头到尾被分成 \(L\) 段,每段的颜色为蓝、红中的一种。对于毒蛇 \(i\),令 \(i=\sum_{k=1}^{L}{c_k\times 2^{L-k}}.(0\le c_k\le 1)\) 为 \(i\) 的二进制展开,若 ,则毒蛇 的第 段

力扣242. 有效的字母异位词(简单的计数数组)

力扣242. 有效的字母异位词 题目描述: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 示例1️⃣ 输入: s = "anagram", t = "nagaram" 输出: true 示例2️⃣: 输入: s = "rat", t =

CF847E Packmen 题解

奇怪的东西 WA了两小时 比rk2快一倍,但代码长4倍 请思考本题用dp怎么做 题意 今有一区间,人,物具陈其上,间或亦有空.其人可左右徙于上.求让人的移动轨迹覆盖所有物品的情况下,人移动的路程的最大值的最小值. 题解 根据题意,显然看出是二分.再考虑一个人的走法: 向左走,

(LightOJ - 1395)Dangerous Maze (II)(期望DP)

题目链接:A Dangerous Maze (II) - LightOJ 1395 - Virtual Judge (ppsucxtt.cn) 题意:一个迷宫有n扇门,每个门对应一个非零值x,如果x是正的,就会在x分钟后带你逃离迷宫,如果x是负的,就会在(-x)分钟后带你回到原点,你会记录你最后走的k扇门,问你走出迷宫的时间期望。 这道题目是之前做过的