• 2024-11-11HDU 6964 I love counting
    看到\(\oplus\),肯定想到trie。当我们一位可以是\(1\)但是变成\(0\)时,一个子树内的都合法。特殊的,最后走到的叶子也合法。想法负一:我会莫队!时间复杂度\(\mathcal{O}(n\sqrt{n}\logn)\),待更新。想法零:我会树套树!待更新。想法一:我会HH的项链!我们按照\(r\)离线,每一次查
  • 2024-11-11[AGC005D] ~K Perm Counting
    题意求对于所有的\(i\)满足\(|P_i-i|\neqk\),的排列数量,对\(924844033\)取模。\(2\len\le2\times10^3,1\lek\len-1\)。Sol考虑转成\(n\timesn\)的网格图,那么就是所有\((i,i+k)\)以及\((i,i-k)\)的格子涂黑不能用。题意转化为在网格图里
  • 2024-10-31数组排序简介-计数排序(Counting Sort)
    基本思想        通过统计数组中每个元素在数组中出现的次数,根据这些统计信息将数组元素有序的放置到正确位置,从而达到排序的目的。算法步骤计算排序范围:遍历数组,找出待排序序列中最大值元素 nums_max和最小值元素 nums_min,计算出排序范围为 nums_max−nums_min
  • 2024-10-16GCD Counting
    算法\(\mathcal{O}(n\logn)\)算法,\(95pts\)观察题目,发现题目要求我们求\(\gcd\)不等于\(1\)的一条最长链考虑将每个数分解质因数对于每一个\(1\simk\)中的质数,将所有含有这个质因子的数加入一颗虚树,求最长链即可,经过尝试发现\(k=700\)时即可通过可以
  • 2024-10-02题解:CF2009D Satyam and Counting
    比较容易观察的一道题,但是场上不开longlong见祖宗了。由于这题的\(x\)最大值比较小,所以我们可以直接存每个坐标是否有点。有两种三角形符号条件:存在两个点\((x,0),(x,1)\),可以观察到任意的其它点都可以成为第三点。有三个点为\((x,0),(x+1,1),(x+2,0)\)或\((x,1),(x+1
  • 2024-10-01P4778 Counting Swaps
    题意:给定一个\(1\simn\)的排列\(a\)。每次可以选两个位置\(i,j\),耗费\(1\)的代价交换\(a_i,a_j\)。问使得\(a\)升序排列的最小代价是多少,以及方案数。\(1\len\le10^5\)。求最小代价:连边\(i\rightarrowa_i\),得到若干个环。一个大小为\(x\)的环需要\(x-1\)次操作
  • 2024-09-14计数排序 (Counting Sort)
    (1)算法简介    计数排序是一种非比较排序算法,主要用于对整数进行排序。它通过计算每个元素在数组中出现的次数来确定其在排序后数组中的位置。这种排序算法适用于元素范围较小且数据量较大的场景。同样,我们接下来带着你边学如何实现排序算法边理解该算法的内核。   
  • 2024-08-28[ARC174E] Existence Counting
    MyBlogs[ARC174E]ExistenceCounting比较机械的处理方式。和NOID2T2是一个性质,只不过简单多了。枚举生成序列和\(P\)的第一个不同位置\(i\),则第\(i\)个位置能填的数的个数\(g_i\)是\(<a_i\)并且之前没有出现过的数,\(g_i\)可以简单用树状数组求出。然后考虑如何
  • 2024-08-07洛谷P1596 [USACO10OCT] Lake Counting S
    这种普通走迷宫的题,还是最好用bfs,毕竟复杂度是比dfs低的。但我这用dfs讲解。具体思路就不做详解,看代码注释。Code#include<bits/stdc++.h>usingnamespacestd;intn,m;chara[105][105];intdx[8]={0,1,-1,0,-1,1,-1,1};//搜索的八个方向常量,xintdy[8]={1,0
  • 2024-08-05COUNTING-SORT(计数排序) and
    计数排序             计数排序假设n个输入元素(适用于小范围区间)中的每一个都是在0到k区间内的一个整数,其中k为某个整数。当k=O(n)时,排序的运行时间为.    计数排序的基本思想:对每一个输入的元素x,确定小于x的元素个数。利用这一信息,就可以直接把x
  • 2024-07-27题解:CF1608F MEX counting
    题解:CF1608FMEXcounting与其他题解不同,本篇题解是运用辅助数组$g$来解决问题。虽然代码可能要繁琐一点,但是辅助数组的思路适用范围更广一点。首先还是转化为前$i$个数的$mex$在区间$[l_i,r_i]$内。我们用dp数组$f_{i,x,c}$表示处理到了第$i$个数,当前的mex为
  • 2024-07-111004 Counting Leaves(dfs):邻接表版:写的太多了
    Afamilyhierarchyisusuallypresentedbyapedigreetree.Yourjobistocountthosefamilymemberswhohavenochild.InputSpecification:Eachinputfilecontainsonetestcase.Eachcasestartswithalinecontaining0<N<100,thenumberofnode
  • 2024-06-07CF1919E Counting Prefixes
    CF1919ECountingPrefixesRating:2600题目大意有一个由-1与1构成的数列\(A\)。告诉你它的前缀和升序排序的数列\(P\)。求有多少个满足方案的数列\(A\)。多组数据,其中\(A\)的长度\(n\)有。\(\sumn\leq5000\)。解题思路首先我们考虑枚举\(s=\sumA\)。我
  • 2024-06-05Counting Rhyme
    题面翻译给定长度为\(n\)的序列\(a\)。对于\(1\leqi<j\leqn\),若不存在\(k\in[1,n]\)使得\(a_k\mida_i\)且\(a_k\mida_j\)那么\((i,j)\)是好的。求出好的数对数量。\(1\lea_i\len\leq10^6\)。题目描述Youaregivenanarrayofintegers$a_1,a_2,\ldot
  • 2024-05-17[USACO10OCT] Lake Counting S
    传送锚点:https://www.luogu.com.cn/problem/P1596由于近期的降雨,雨水汇集在农民约翰的田地不同的地方。我们用一个\(N\timesM(1\leqN\leq100,1\leqM\leq100)\)的网格图表示。每个网格中有水(W)或是旱地(.)。一个网格与其周围的八个网格相连,而一组相连的网格视为一个水坑。约
  • 2024-05-14C. Permutation Counting
    原题链接题解给定一个数组,你知道怎么计算最终答案吗?设数组大小为\(n\),数组中的最小值为\(x\),大于最小值的个数为\(p\)则\(ans=n*x-(n-1)+p\),\(p\in[0,n-1]\)所以\(x\)越大,\(ans\)越大二分的前置条件有了二分\(x\)遍历数组判断\(k\)能否达到这个\(x\)code#i
  • 2024-05-10探讨:ARC(Automatic Reference Counting)与手动内存管理的区别及工作原理
    在iOS和macOS开发中,内存管理是一个至关重要的话题。在过去,手动内存管理是一项繁琐且容易出错的任务,而引入了ARC(AutomaticReferenceCounting,自动引用计数)之后,内存管理变得更加简单和安全。本文将详细讨论ARC和手动内存管理之间的区别,并解释ARC的工作原理。1.ARC与手
  • 2024-05-09AGC005D ~K Perm Counting
    Statement:若一个有\(n\)个元素的排列\(P\)满足对于任意\(i(1\len\len)\)都有\(|P_i-i|\nek\),则这个排列是合法的。现给定\(n,k\),问有多少个合法的排列。Solution:神仙题啊。考虑容斥。钦定有\(i\)个位置不满足条件,即满足\(|P_i-i|=k\)。这里有一步
  • 2024-05-05qoj1138 Counting Mushrooms
    交互题。有一个隐藏的01序列\(a\),你只知道\(a\)的长度,并记为\(n\)。保证\(a_1=0\)。你可以执行以下操作:询问一个序列\(b\),满足两两不同且长度在\([2,1000]\)之间。交互库会返回\(\sum[a(b_i)\not=a(b_{i+1})]\)。请在\(226\)次操作内求出\(a\)中\(0\)
  • 2024-04-21Codeforces 954H Path Counting
    令输入的为\(a'\),同时\(a'_0=1\)。对其做一个前缀积\(a_i=\prod\limits_{i=0}^ia'_i\),对于\(i\gen\),认为\(a_i=0\)。那么\(a_i\)就相当于是深度\(i+1\)的点的个数。同时也可以得到根的深度为\(l\)时子树内深度为\(r\)的深度的点数为\(\dfrac{a_{r-
  • 2024-03-30(算法)Lake Counting <Flood Fill 洪水灌溉模型>
    题目:题解:#include<stdio.h>intn,m;chararr[110][110];//元数据数组intcount=0;//计数器intdx[8]={1,1,1,-1,-1,-1,0,0};intdy[8]={-1,0,1,-1,0,1,1,-1};intt[110][110];//判断是否被选择voiddfs(intx,inty){for(inti=0;i<
  • 2024-03-21Counting Rhyme
    这道题目就是因为对数论容斥不熟悉导致的。。。之前也做到过看这篇题解首先这篇题解用到了一个很大的纲领:公约数是最大公约数的约数然后看下\(g_k\)怎么求:由于\(g_k\)表示的是\(k|gcd(a_i,a_j)\)的对数,相当于\(k\)是\(a_i,a_j\)的公约数,所以我们把数组中\(k\)的倍数全部标出来,
  • 2024-02-24CF1857G Counting Graphs 题解
    题目描述给定一棵最小生成树,求有多少张图的最小生成树是给定的树,并且这张图的所有边边权不超过\(S\)。思路考虑在最小生成树中加边。我们回顾一下Kruskal的过程:找到没被用过的,最小的边判断这条边的两端是否在一个联通块中加入这条边,将两端的联通块连在一起根据第三条
  • 2024-01-20double counting 小记
    前言:doublecounting即算两次,可以对比两次结果得出一些有用的结论。例1:求证:\[\sum_{i=0}^ni\binom{n}{i}=n\times2^{n-1}\]证明:考虑计数问题:从\(\{1,2,3,\dotsn\}\)中选取一个元素\(a\)和一个子集\(A\),要求\(a\inA\),求方案数。先取\(A\)再取\(a\),我们根据
  • 2023-12-31[ABC212H] Nim Counting
    题目链接题目本质就是对一个多项式\(F\)进行等比数列求和得到\(G\)(\(F_i\)表示\(i\)在序列\(A\)中的出现次数),求\(G\)所有下标\(>0\)的位置的权值和。显然,\(M\)固定就可以直接做了。但\(M\)不固定,所以我们只能暴力枚举\(M\)并进行\(N\)次FWT卷积。复杂度显