题目链接:https://ac.nowcoder.com/acm/contest/3002/F 题解思路: 思路统计连通块白点的个数(可用并查集,或者搜索) 搜索: https://ac.nowcoder.com/acm/contest/view-submission?submissionId=42763870 并查集: https://blog.csdn.net/qq_42815188/article/details/1042207
给定一个 n × n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。 说明: 你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。 示例 1: 给定 matrix = [ [1,2,3], [4,5,6], [7,8,9] ], 原地旋转输入矩阵,使其变为: [ [7,4,
首先你需要明白,你不能把每个串都一遍遍插入,复杂度不对。 但是显然,trie树的规模很小。所以我们可以直接边在trie上dfs边插入,代码比较可读: void construct(char* s) { int u = 0; for (int i = 1; s[i]; ++i) { if (s[i] >= 'a' && s[i] <= 'z') { if
操作系统为ubuntu18.04 报错原因是gcc版本过高,只需要将gcc版本降到5以下就ok! $ sudo apt-get install -y gcc-4.8 $ sudo apt-get install -y g++-4.8 $ cd /usr/bin $ sudo rm gcc $ sudo ln -s gcc-4.8 gcc $ sudo rm g++ $ sudo ln -s g++-4.8 g++ 点赞 收藏
C++迭代器(STL迭代器)iterator详解 要访问顺序容器和关联容器中的元素,需要通过“迭代器(iterator)”进行。迭代器是一个变量,相当于容器和操纵容器的算法之间的中介。迭代器可以指向容器中的某个元素,通过迭代器就可以读写它指向的元素。从这一点上看,迭代器和指针类似。迭代器按照定
题目:输入正整数 X,求 X 的大于 1 的因子组成的满足任意前一项都能整除后一项的严格递增序列的最大长度,以及满足最大长度的序列的个数。 分析:要求求最大长度是分解因子后的质因子个数和。和满足长度的序列个数(排列问题)。 代码:
题目 Given two sets of integers, the similarity of the sets is defined to be Nc/Nt×100%N_c/N_t\times100\%Nc/Nt×100%, where NcN_cNc is the number of distinct common numbers shared by the two sets, and NtN_tNt is the total number of distinct num
简单来说,Canny检测的步骤如下: (1)使用低通滤波器抑制噪声 (2)计算梯度幅值和梯度方向 (3)非极大值抑制 (4)检测边缘 下面给出每一步的代码。 抑制噪声: Mat imageSource = imread("D:\\image.jpg", 0), imageGaussian; //读取图像 //imshow("Image", imageSource); GaussianBlur(imageSo
转自 https://www.cnblogs.com/engraver-lxw/p/7620142.html 和 https://www.cnblogs.com/xyl-share-happy/archive/2012/08/28/2660873.html 之前一直不知道 while(scanf("%d",&n)!=EOF) 这种怎么正常结束输出,后来尝试一个一个读取字符时遇到问题,就上网查了一下,就找到以上两篇文
743 #include<bits/stdc++.h> using namespace std; typedef long long ll; int n,x; int main() { set<int>s; while(cin>>n) { s.clear(); while(n--) { cin>>x; s.insert(x);
页面级的js不管写在页面的哪里都可以 企业项目开发要求:结构(html),样式(css),行为(js)相分离 不要既写外部js,又写内部js;如果两个都写,则外部js生效 声明多个变量时,每个变量之间应该换行,如: 变量名必须以字母,$,_开头 变量名可以由字母,$,_,数字组成 变量名不能用关键字和保
基本思想: 一直不知道模拟思想是个什么思想,后续需要补全一下; 本质上就是模拟栈的弹出压入问题,主体部分写出来了,但是忘了判断压栈过程中可能容量爆栈; 关键点: 模拟问题; #include<iostream> #include<stdlib.h> #include<stdio.h> #include<vector> #include<string> #incl
一开始就有人带歪榜,差评。 题目链接:https://codeforces.com/gym/102392 B: solver:lzh 1 #include <bits/stdc++.h> 2 using namespace std; 3 #define ff first 4 #define ss second 5 typedef long long ll; 6 typedef pair<int, int> pii; 7 8 struct node { 9
设dp_i为所求答案,每次选择因数的概率相同,设i有x个因数,dp_i=sum(1/x*x_j)+1,(x_j表示第j个因数),那我们就预处理每个数的因数即可,T=10000,需要预处理出答案 #include<bits/stdc++.h> using namespace std; #define lowbit(x) ((x)&(-x)) typedef long long LL; typedef pair<int,in
一.笨阶乘 通常,正整数 n 的阶乘是所有小于或等于 n 的正整数的乘积。例如,factorial(10) = 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1。 相反,我们设计了一个笨阶乘 clumsy:在整数的递减序列中,我们以一个固定顺序的操作符序列来依次替换原有的乘法操作符:乘法(*),除法(/),加法(+)和
题目描述: 一群猴子要选新猴王。新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号。从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子,接着又从紧邻的下一只猴子开始同样的报数。如此不断循环,最后剩下的一只猴子就选为猴王。请问是原来第几号猴子当选猴
题目: Given an input string (s) and a pattern (p), implement regular expression matching with support for '.' and '*'. '.' Matches any single character. '*' Matches zero or more of the preceding element. The matching
C语言实现顺序栈,顺便加深刻++i,++i的区别 #include <stdio.h>#include <stdlib.h>#define maxsize 100/*写在前面的话:(1).top是栈顶元素在数组中的索引,top为-1代表空 (2).i++是先用i再加1,++i是先加1再用i (3).顺序栈的缺点是必须事先给栈分配一个大空间(maxsize),这显然浪费存储空间 (4).
北大程序设计与算法(三)测验题汇总(2020春季) 描述 程序填空输出指定结果 #include <iostream> #include <list> #include <string> using namespace std; template <class T1,class T2> void Copy(T1 s,T1 e, T2 x) { for(; s != e; ++s,++x) *x = *s; } template<cl
一 试题 算法训练 审美课 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 《审美的历程》课上有n位学生,帅老师展示了m幅画,其中有些是梵高的作品,另外的都出自五岁小朋友之手。老师请同学们分辨哪些画的作者是梵高,但是老师自己并没有答案,因为这些画看上去都像是小朋友
这题做第二遍的时候,没有第一遍那么顺利。。。 有目录~C 25'/25'C++错误代码对错误代码的分析正确代码 25'/25' C 25’/25’ #include<stdio.h> #include<stdlib.h> #define MAX 100 int num[MAX], key[MAX], covered[MAX * MAX]; int key_count = 0; //关键数的个数 int
【 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。 在构造过程中,请注意区分大小写。比如 "Aa" 不能当做一个回文字符串。 注意: 假设字符串的长度不会超过 1010。 示例 1: 输入: "abccccdd" 输出: 7 解释: 我们可以构造的最长的回文串是"dcc
这题挺麻烦的,各种小数点和正负号搞的乱死,看的时候要看仔细了,我特意用1.1~2.3标出了6种情况,实际上只分了3种,前3种情况理解了,后面的就是对应地方都-1的问题 #include <stdio.h> #include <math.h> int main() { char a[20000] = {0}; //输入 char b[20000] = {0}; //输出 in
2019 int main(int argc, char *argv[]) { for (unsigned int i = 3; i >= 0; i--) putchar('='); } 因为i为无符号数,所以i的值永远大于等于0,将无法退出循环。 3. void f() { printf("%d\n", X*X); static int a = 0; int b = 0; printf("%d, %d\n", ++a, ++b
给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人。 输入格式: 输入首先给出正整数N(≤),为通话记录条数。随后N行,每行给出一条通话记录。简单起见,这里只列出拨出方和接收方的11位数字构成的手机号码,其中以空格分隔。 输出格式: 在一行中给出聊天狂人的手机号码及其通话次数,