题目 在数组中找到出现次数大于N/K 的数 java代码 package com.lizhouwei.chapter8; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @Description: 在数组中找到出现次数大于N/K 的数 * @Author: lizhouwei * @CreateDate: 2018/5/7 19:58…
T1 题意:给你一个图,可以不花代价经过 \(K\) 条边,问从起点到终点的最短路 考试的想法:设 \(dis_{i,j}\) 表示从起点免费了 \(j\) 条边到 \(i\) 的最短路 然后直接跑 \(\text{spfa}\) 结果:\(WA\) 正解:分层图,需要考虑去到下一层就不能回来的情况 分为 \(K\) 层,同一层的 \(u,v\) 边权不变,双向边,去下一层的单向边,权值为 0 然后 \(\text{spfa}\) 超时,用 \(\text{dijkstra}\) 即可 答案:免…
题目: 1.给定一个整型数组,打印其中出现次数大于一半的数.如果没有出现这样的数,打印提示信息. 如:1,2,1输出1.    1,2,3输出no such number. 2.给定一个整型数组,再给一个整数K,打印所有出现次数大于N/K的数,如果没有这样的数,打印提示信息. 解答: 两道题都可以使用哈希表记录每个数出现的次数,额外的空间复杂度为O(N). 其他的方法: 1.时间复杂度为O(N).额外空间复杂度为O(1). public static void printHalfMajor(in…
2021.10.29 数位dp 1.数字计数 我们先设数字为ABCD 看A000,如果我们要求出它所有数位之和,我们会怎么求? 鉴于我们其实已经求出了0到9,0到99,0到999...上所有数字个数(f[i],且没有考虑前导0)我们何不把这个A000看成0000到1000到2000...A000对于不考虑首位每一个式子的数字的出现个数为 \(A*f[3]\).加上首位出现也就是小于A每一个数都出现了\(10^3\)次,再加上,我们就把A000处理完了. 这样你以为就把第一位处理完了?不不不,首位…
2021.05.03 T3 数字 问题描述 一个数字被称为好数字当他满足下列条件: 1. 它有**2*n**个数位,n是正整数(允许有前导0) 2. 构成它的每个数字都在给定的数字集合S中. 3. 它**前n位之和与后n位之和相等**或者它**奇数位之和与偶数位之和相等** 例如对于n=2,S={1,2},合法的好数字有1111,1122,1212,1221,2112,2121,2211,2222这样8种. 已知n,求合法的好数字的个数mod 999983. 输入 第一行一个数n. 接下来一个长…
2021.05.14 tarjan 标准版tarjan 这里使用数组来模拟栈 void tarjan(int x){ ++ind; dfn[x]=low[x]=ind; stacki[++top]=x; instack[x]=true; for(int i=head[x];i;i=a[i].next ){ int v=a[i].to ; if(dfn[v]==0){ tarjan(v); low[x]=min(low[x],low[v]); }else if(instack[v]){ low[x…
项目Beta冲刺(团队)--05.29(7/7) 格式描述 课程名称:软件工程1916|W(福州大学) 作业要求:项目Beta冲刺(团队) 团队名称:为了交项目干杯 作业目标:记录Beta敏捷冲刺第7天任务完成情况 团队信息 队员学号 队员姓名 个人博客地址 备注 221600125 刘杰 http://www.cnblogs.com/MikasaAKM/ 队长 221600123 林信康 http://www.cnblogs.com/lxk12345/ 221600118 李鸿斌 https:…
T1 入阵曲 二位前缀和暴力n4可以拿60. 观察到维护前缀和时模k意义下余数一样的前缀和相减后一定被k整除,前缀和维护模数,n2枚举行数,n枚举列, 开一个桶记录模数出现个数,每枚举到该模数就加上它先前出现个数,表示增添了这么多对可被k整除的前缀和. code: 1 #include<bits/stdc++.h> 2 #define int long long 3 using namespace std; 4 const int NN=405; 5 int n,m,k,a[NN][NN],s…
2021.10.29 P1649 [USACO07OCT]Obstacle Course S(BFS) 题意: 给一张n*n的图,起点为A,终点为 B,求从A到B转弯次数最少为多少. 分析: 是否存在路径用DFS,最短路径或最长路径用BFS.只不过先现在需要把以前距离小的放前面改为转弯次数少的放前面,类似于最短路 . 代码如下: #include<cstdio> #include<iostream> #include<algorithm> #include<cst…
2021.05.09[NOIP提高组]模拟赛总结 T1 T2…