首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
Dawn_T17
获赞
2
粉丝
0
关注
1
看过 TA
3
男
江苏科技大学
2027
算法工程师
IP属地:江苏
广林之间,只盼花开。
私信
关注
拉黑
举报
举报
确定要拉黑Dawn_T17吗?
发布(10)
刷题
Dawn_T17
03-28 21:07
已编辑
江苏科技大学 计算机类
DFS搜索
例一:N皇后问题N*N的方格放置N个皇后,使不互相攻击(不在同一行,列,斜线)求有多少可行案例 #include<iostream> #include<cmath> int n,x[15],cnt=0; //x[i]中i表示行数,值表示列数,比构造二维数组更方便 using namespace std; bool check(int h) //check函数表判断当前位置是否符合规则 { for(int i=1;i<h;i++) { //判断是否位于同一行或同一斜线 if(x[i]==x[h]...
0
点赞
评论
收藏
转发
Dawn_T17
03-23 21:31
江苏科技大学 计算机类
组合型枚举和排列型枚举
一.组合型枚举1.给两个数字n和m,从1-n中取m个数字的所有情况 方法1:用到了dfs搜索,深度优先搜索每条路径。 //组合形式枚举 //只用组合不用排列 #include<iostream> using namespace std; int n,m; int path[50]; int cnt=0; //path用来储存当前路径上的数字 void dfs(int u,int start) { if(u>m) { for(int i=1;i<=m;i++) { cout<<path[i]<<"...
0
点赞
评论
收藏
转发
Dawn_T17
03-19 20:50
江苏科技大学 计算机类
高精度算法
1.高精度加法字符串输入,数组存储 #include<iostream> #include<string> #include<algorithm> #include<cstring> using namespace std; int main() { string s1, s2; //用字符串输入大数 int a[505], b[505],c[505]; //用数组储存大数每一位上的数字 memset(c, 0, sizeof(c)); mem...
算法入门基础
0
点赞
评论
收藏
转发
Dawn_T17
03-13 23:18
江苏科技大学 计算机类
求最大公约数(最小公倍数)的四种方法
求两个数的最大公约数(最小公倍数)最大公约数×最小公倍数=两数相乘最小公倍数=两数相乘/最大公阿约数1.辗转相除法(欧几里得算法)依据定理两个整数的最大公约数等于较小数和两数取模的最大公约数时间复杂度O(log(n)) #include<iostream> #include<algorithm> using namespace std; int main() { int a, b,ans; cin >> a >> b; int x, y; x = max(a, b); y = min(a, b); //x永远放小的数,y永远放大的数 ...
算法入门基础
0
点赞
评论
收藏
转发
Dawn_T17
03-06 21:30
江苏科技大学 计算机类
NC18386—字符串(双指针/尺取法)
链接:https://ac.nowcoder.com/acm/problem/18386链接:https://ac.nowcoder.com/acm/problem/18386题目描述 小N现在有一个字符串S。他把这这个字符串的所有子串都挑了出来。一个S的子串T是合法的,当且仅当T中包含了所有的小写字母。小N希望知道所有的合法的S的子串中,长度最短是多少。输入描述:一行一个字符串S。只包含小写字母。S的长度不超过106.输出描述:一行一个数字,代表最短长度。数据保证存在一个合法的S的子串。 #include<iostream> #include<string> #inc...
算法入门基础
0
点赞
评论
收藏
转发
Dawn_T17
03-03 17:10
江苏科技大学 计算机类
NC16593 [NOIP2011]铺地毯(枚举)
减少枚举次数,减少枚举对象一开始想开一个100000*100000的二维数组,每次输入时更改二维数组每个点的数值(暴力枚举)但开不下这么大的数组,且循环次数太多会超时。*可以更换枚举的对象——对目标点进行枚举,每次看目标点是否在每块地毯的范围内,若在则更新数据*可以减少枚举次数——倒序枚举,因为答案肯定是最上方的那块地毯,直接找到最上方的地毯就break,减少大量枚举次数 #include<iostream> #include<cstring> using namespace std; typedef long long ll; const int N=100050; ...
算法入门基础
0
点赞
评论
收藏
转发
Dawn_T17
01-30 21:04
已编辑
江苏科技大学 计算机类
[CQOI2009]中位数图(前后缀和(转换思想))
链接:https://ac.nowcoder.com/acm/problem/19913链接:https://ac.nowcoder.com/acm/problem/19913给出1~n的一个排列,统计该排列有多少个长度为奇数的连续子序列的中位数是b。中位数是指把所有元素从小到大排列后,位于中间的数。 #include<iostream> using namespace std; int n,b; int a[100010]; int sum[100010]; int main() { int pos; cin>>n>>b; for(...
算法入门基础
0
点赞
评论
收藏
转发
Dawn_T17
01-30 20:41
江苏科技大学 计算机类
[NOIP2005]校门外的树(差分)
链接:https://ac.nowcoder.com/acm/contest/20960/1017某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。差分入门第一题。解法一:*把区间问题转换为端点问...
投递台达集团等公司7个岗位 >
算法入门基础
0
点赞
评论
收藏
转发
Dawn_T17
01-30 18:30
已编辑
江苏科技大学 计算机类
[NOIP2010]机器翻译
/* 链接:https://ac.nowcoder.com/acm/contest/20960/1003 题目描述 小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。 这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有,软件就会用它进行翻译;如果内存中没有,软件就会在外存中的词典内查找,查出单词的中文含义然后翻译,并将这个单词和译义放入内存,以备后续的查找和翻译。 假设内存中有 M 个单元,每单元能存放一个单词和译义。每当软件将一个新单词存入内存前,如果当前内存中已存...
算法入门基础
0
点赞
评论
收藏
转发
Dawn_T17
01-26 13:07
已编辑
江苏科技大学 计算机类
快速排序
#include<iostream> using namespace std; void quicksort(int a[],int left, int right) { int temp, i, j; if (left > right) //不符合排序条件,结束递归。 return; temp = a[left]; //temp储存的是基准数,以初始数组的第一个数作为基准数 i = left; j = right; while (i != j) //i,j...
0
点赞
评论
收藏
转发
1
工具箱
TA的圈子
暂未加入圈子
TA的圈子
TA的笔记
暂无笔记
TA的笔记
登录
0
天
已登录
0
天
连续登录
0
人
今日访客
牛客网
牛客企业服务