考试认证
uva 标签描述

大体题意: 给你n,m,k 从而会算出一个n个元素的集合,求出一个子集合的长度,其中子集合存在X满足X<=k; 思路: 建立一个vis数组,表示每个数出现的次数,然后一个一个数的遍历,只有满足当前数符合访问次数为1并且大小小于等于k,则cnt 然后建立一个pos表示左端的最优解的位置 寻找方法很简单 当pos位置的数vis大于1或者大小大于k都不是最优的都应该pos 最后当cntk时更新答案即可! include<cstdio> include<cstring> include<algorithm> usingnamespac...

  gSHLoS4ND9Hs   2023年11月02日   21   0   0 最优解数组#includeuvac语言

大体题意: 有n个结点,初始时每个结点的父节点都不存在。你的任务是执行一次I操作和E操作,格式如下: Iu,v把结点u的父节点设置为v,距离为|u-v|%1000 保证u没有父节点。 Eu,询问u到根节点的距离! 思路: 并查集: 用d[u]表示u结点到根节点的距离。 每次E操作都初始化父节点和 距离! 每次I操作都要查一下父节点,find,在find过程中更新d数组! 大体过程就是在递归返回的过程中更新d  d[x]+=d[pa[x]] !仔细想想这样正好全部加回去!! include<cstdio> include<...

  gSHLoS4ND9Hs   2023年11月02日   23   0   0 算法uva父节点结点c语言

大体题意: 给你一个整数n(n<=10000),有多少种方案可以把n写成若干个连续素数之和? 思路: 直接素数打表,然后滑动窗口即可! 当sum小于目标时,移动右边r。 发现达到目标,直接记录答案。 当sum大于目标时,直接减左边的l 最后输出ans即可! include<cstdio> include<cstring> include<algorithm> include<cmath> usingnamespacestd; constintmaxn=100000+10; intvis[maxn]; intprime[maxn],n,c...

题意很简单: 问一个马从起点走到终点最短步数。 思路: 简单的bfs,输入得到起点终点,直接用队列走就可以了! include<cstdio> include<queue> usingnamespacestd; intsx,sy,gx,gy; constintINF=1e8; intidx[10][10]; constintdx[]={-1,-2,-2,-1,1,2,2,1}; constintdy[]={-2,-1,1,2,2,1,-1,-2}; typedefpair<int,int>P; intmain() { chars1[5],s2[5]; w...

  gSHLoS4ND9Hs   2023年11月02日   25   0   0 #includeuvabfsc语言