#ifndef jingdongbishi_h
#define jingdongbishi_h
//求1~N的最小公倍数。把每个数字分解质因数,算他们每个质因数的贡献,然后乘起来。
//根据唯一分解定理和最小公倍数定理,求每个质数相乘即可
#define maxn 100009 //最大的数据N为100000
int fact[maxn];
bool prime[maxn];
long long mod = 987654321;
int cal(int big,int small)//计算big是small的多少次方
{
int count = 0;
//这里的的small要大于1否则就无限循环了
while(big % small == 0)
{
count++;
big = big / small;
}
return count;
}
//计算在1~N中有多少个质数,用prime[maxn]表示
void init1()
{
memset(prime, true, sizeof(prime));
prime[1] = false; //1不是质数
//遍历寻找质数
for(int i = 2; i <= 100000; i++)
{
//top表示如果i能分解,那么分解的最大的数是sqrt(n)
int top = sqrt(i);
for(int j = 2; j <= top; j++)
{
if(i % j == 0)
{
prime[i] = false;
break;
}
}
}
}
void solve1(int limit)
{
init1();
for(int i = 2; i <= limit; i++)
{
int top = sqrt(i);
for(int j = 2; j <= top; j++)
{
//这里表示i这个数中到底含有几个j这样的质数
if(prime[j] && i % j == 0)
fact[j] = max(fact[j], cal(i,j));
}
if(prime[i])
fact[i] = max(fact[i],1);
}
}
//这里把每个质因数相乘
void test1()
{
int n;
cin>>n;
long long res = 1;
solve1(n);
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= fact[i]; ++j)
{
res = res * i % mod;
}
cout<<res<<endl;
}
//第二题:去掉字符串构成回文。其实是经典的求回文子序列个数。
/*
f[i][j] = dfs(i, j - 1) + dfs(i + 1, j) - dfs(i + 1, j - 1);
if(str[i] == str[j])
f[i][j] += dfs(i + 1, j - 1) + 1;
对于任意字符串,如果头尾字符不相等,则字符串的回文子序列个数就等于去掉头的字符串的回文子序列个数+去掉尾的字符串的回文子序列个数-去掉头尾的字符串的回文子序列个数;如果头尾字符相等,那么除了上述的子序列个数之外,还要加上首尾相等时新增的子序列个数,1+去掉头尾的字符串的回文子序列个数,1指的是加上头尾组成的回文子序列,如aa,bb等。
*/
int NumOfPalindromeSubSequence(string str)
{
int len = (int)str.length();
vector<vector<int> > dp(len, vector<int>(len));
for(int j = 0; j < len; j++)
{
dp[j][j] = 1;
for(int i = j - 1; i >= 0; i--)
{
dp[i][j] = dp[i+1][j] + dp[i][j-1] - dp[i+1][j-1];
if(str[i] == str[j])
dp[i][j] += 1 + dp[i+1][j-1];
}
}
return dp[0][len-1];
}
//象棋的马走K步之后到(X,Y)的方案数。直接递推。
int dp[10][10][3];
long long mod3 = 1e9 + 7;
int dx[8] = {-2,-1,1,2,2,1,-1,-2};
int dy[8] = {-1,-2,-2,-1,1,2,2,1};
int check(int x,int y)
{
if(x >= 0 && x <= 8 && y >= 0 && y <= 8)
return true;
return false;
}
void cal(int x, int y, int state)
{
dp[x][y][state] = 0;
for(int i = 0; i < 8; i++)
{
int tx = x + dx[i];
int ty = y + dy[i];
if(check(tx,ty))
{
dp[x][y][state] = (dp[x][y][state] + dp[tx][ty][state^1]) % mod3;
}
}
}
void test3()
{
int K;
cin >> K;
int state = 0;
dp[0][0][0] = 1;
while(K--)
{
state = state ^ 1;
for(int i = 0; i <= 8; i++)
{
for(int j = 0; j <= 8; j++)
{
cal(i,j,state);
}
}
}
int x,y;
cin >> x >> y;
cout<<dp[x][y][state]<<endl;
}
#endif /* jingdongbishi_h */
相关推荐
c++工程师历年企业笔试真题汇总
https://www.nowcoder.com/test/128/summary 阿里巴巴2010搜索研发C++工程师笔试卷 https://www.nowcoder.com/test/165/summary 迅雷2014C++笔试卷Ahttps://www.nowcoder.com/test/166/summary 迅雷2013C++笔试卷Bhttps://www.nowcoder.c...
经典C++笔试题目100例,接近实际,值得一看!
第一部分:C++与C语言的差异(1-18)1、C 和 C++ 中 struct 有什么区别? Protection行为 能否定义函数 C 无 否,但可以有函数指针 C++ 有 可以,默认是public 2、C++中的 struct 和 class 有什么区别?【参考答案】从语法上讲,class和struct做类型定义时只有两点区别:...
Arduino for ESP32-----ESP-NOW介绍及使用
ESP-NOWESP-NOW介绍ESP-NOW支持以下特性ESP-NOW技术也存在以下局限性获取ESP32的MAC地址ESP-NOW单向通信(One-way communication)ESP32单板间的双向通信一对多通信(一发多收)一对多通信(多发一收) ESP-NOW介绍 ESP-NOW是一种由Espressif开发的协议,可以让多个设备在不使用Wi-Fi的情况下相互通信。该协议类似于低功耗的2.4GHz无线连接。设备之间的配对需要在通信之前完成。配对完成后,连接是安全的、点对点的,不需要握手。这意味着
C++经典练习题(30题带答案)
1.定义一个学生结构体student,包括学生的学号、姓名、性别、出生日期。出生日期包括年月日。编写程序输出一个学生的所有信息。 2.输入一个字符,如果该字符是英文字母,则打印该英文字母的ASCII码。要求可以输入任意字符。 3.编写程序将成绩分数的百分制转换为等级制,即 A(分数≥90)、B(90>分数≥80)、C(80>分数≥70)、D(70>分数≥60)、E(分数<60)五等。 4.已知一个student结构体,请编写主函数,为stud
芯片设计中的STA实战:如何避免时序违例(含常见问题解析)
本文深入探讨了芯片设计中静态时序分析(STA)的实战应用,重点解析了如何避免时序违例。文章从STA的核心逻辑与约束制定出发,强调了将时序意识植入RTL编码与综合阶段的重要性,并详细介绍了后端物理实现中的时序收敛策略。同时,针对跨时钟域路径误报、多工艺角违例等常见问题提供了深度解析与调试技巧,旨在帮助IC设计工程师系统性地掌握时序分析与优化方法。
海康威视摄像头网线连接笔记本电脑,客户端提示:1连接设备失败。设备不在线或网络原因引起的连接超时等。(HCNetSDK.dll[7].)解决方案
1.环境 电脑:联想笔记本电脑(win10系统) 摄像头:海康威视DS-2CD3T20D-i5,4mm 连接方式:直接用网线将摄像头和摄像头连接 2.问题: 客户端出现如下提示: 3. 解决流程: 1.确认网线是否有问题:我的网线指示灯常亮,并且设备能够被搜索到,只是一直显示离线 2.按照网上教程直接配置摄像头的ip地址与电脑同一网段:登录失败。 错误码为 HCNetSDK.dll[7].(连接设备失败。设备不在【海康威视吧】_百度贴吧 失败了,没有反应 3.查看有线网卡的地
【数据挖掘】2022年京东算法工程师笔试题(23届)
2022年京东算法工程师笔试题(2023届)
ADS谐波平衡仿真自动优化报错?三步搞定HB控件设置(附常见错误排查)
本文针对ADS谐波平衡仿真在自动优化中常见的报错问题,提供了三步核心排查法。首先检查并禁用HB控件中可能导致冲突的小信号仿真模式,其次合理化仿真频率与扫描参数设置,最后审视优化变量与目标的定义。通过精准配置HB控件以适配自动优化流程,能有效解决大多数仿真失败问题,确保非线性电路设计顺利进行。
【2022-09-03】京东秋招笔试三道编程题
【2022-09-03】京东秋招笔试三道编程题
CloudCompare点云变换保姆级教程:从平移、旋转到绕任意点旋转,一次搞定
本文提供CloudCompare点云变换的全面教程,涵盖从基础平移、旋转到绕任意点旋转的高级技巧。通过详细的操作步骤和实战案例,帮助用户掌握点云数据处理的核心技能,提升三维模型对齐和变换的效率与精度。
阻抗匹配详解
在深入理解阻抗匹配概念之前,我们可以先来一起看一个现象,首先使用一个信号发生器输出一个脉宽为 50ns 的单脉冲信号,同时将信号接入示波器,此时在示波器的波形视图上可以看到这个仅有一个脉冲的信号,如下图。如果我们将信号接入示波器的同时将电缆延长数米到外部,并且延长后电缆末端保持悬空不接入任何东西,引出一段未接入任何东西的开路电缆,按照常识应该没有任何影响,然而实测是在原有脉冲旁边多出了一个类似脉冲,如下图。
C++软件开发工程师笔试题
C++软件开发工程师笔试题
计算机网络基础:认识网络硬件与传输介质
计算机网络基础:认识网络硬件与传输介质,在计算机网络的庞大体系中,网络硬件与传输介质犹如坚实的骨架与脉络,支撑并承载着信息的流动。从家庭中的小型网络,到企业复杂的办公网络,再到覆盖全球的互联网,各类网络硬件设备各司其职,不同的传输介质发挥着独特的传输作用。它们相互协作,使得数据能够在不同设备之间快速、准确地传输,为人们的日常沟通、工作办公、娱乐休闲等活动提供了基础保障。
2018京东实习生笔试C++编程题:整除
1.题目描述: 2.思路: 3.理论依据 4.在解决思路步骤二时,有两个方案: 5.代码如下: 1.题目描述: 2.思路: 先求出所有小于等于n的所有质数 然后计算每个质数的最大幂,使得该幂小于等于n 将所有质数的幂乘起来即为所求 3.理论依据 定理:(A % 987654321) * B % 987654321的结果,和(A ...
【Neo4j × Python】基于知识图谱的电影问答系统(含问题记录与解决)附:源代码(含Bug解决)
此前,曾介绍过Neo4j的一些基础知识,本篇将在PyCharm中与Neo4j建立关联,从0到1实现一个基于知识图谱的电影问答系统,实现过程中,没有一帆风顺,而是遇到了一些问题,因此也包含问题的记录与解决。
文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况
主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。
2018京东C++开发工程师实习线上笔试编程题参考题解
AC了第一题第三题(第一题被个低级错误浪费了一大堆时间。。。),第二题dp推错了,一首凉凉献给自己。 第一题 大致题意 题意是说,给你一个n(1<=n<=100000),要你找出1~n这么多个数的最小公倍数。因为结果可能较大,对987654321取模。 思路 最小公倍数,那就很直接了,依次对每个数分解质因数,统计各个素因子的个数,最终这个素因子的个数取这n个数...
最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版
Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。
京东 开发笔试题
import java.util.Scanner; public class Main { public static void main(String args[]) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); while(N-- > 0) ...
Outlook Express 6 (OE6) for Win7/Win8/Win10
英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。
华为的C语言编程规范.pdf
华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。
京东历届笔试面试题大全
整理了一下京东往届笔试面试题,希望对大家有帮助: 超级有用的面试题:Java常见面试题 常见算法面试题 数据库常见面试题 操作系统常见面试题 C/C++常见面试题 大数据常见面试 python常见面试 来源:京东笔试面试圈>> 1、2018京东校招技术笔试编程题汇总 2、2017京东笔试编程题 3、2017京东面试笔试题目汇总 4、2017京东校园招聘...
京东2018秋招编程题
京东2018秋招
2018京东笔试
相对而言京东的难度有点大,比起网易来说都算是高了很多,总的来说就写出一道题目,且通过率也是不要太低不过感觉第一题还是算有思路的,其他的两道题属于完全没有思路的样子,所以今天就写一下第一道题吧。第一题 打印出能被小于等于n的所有整数整出的最小的数这道题在我看来是一个相对简单的题目,看到题的第一反应是所有数整除,那么把所有数相乘得出来得结果不就行了,然而事实并非如此譬如在1到6之间就有4这种异常点,而...
【求职】京东 2018 秋招测试开发工程师笔试题
京东 2018 秋招测试开发工程师笔试题 一.单选题 1.若度为m 的哈夫曼树中,其叶结点个数为 n,则非叶结点的个数为( ) A. n-1 B. n/m-1 C. (n-1)/(m-1) D. n/(m-1)-1 E. (n+1)/(m+1)-1 2.进程会在各个状态之间切换,下面哪些是不可能的( ) A. 运行→就绪 B. 运行→等待 C. 等待→运行 D. 等待→就绪 3.若一序列进栈顺序为 a1,a2,a3,a4,问存在多少种可能的出栈序列( ) A. 12 B. 13 C. 14 D. 15 4.
京东2018校招研发笔试题记录
京东2018校招研发笔试题
2018年京东春招笔试题
2018年京东春招笔试题(2018.04.09) 题目一 整数分解 题目描述 小Q的数学老师给小Q一个整数N,问小Q能否将W分解为两个整数X和Y相乘,并且满足X为奇数,Y为偶数。即能否找到奇数X和偶数Y满足X*Y=N。 小Q被这个问题难住了,希望你能来帮助他计算。 输入描述 输入的第一行包含一个正整数 t (1<=t<=1000),表示测试样例数。 接下来的t...
编程题(1):笔试题-京东软件测试2018实习招聘
题目描述 小明同学要参加一场考试,考试一共有n道题目,小明必须做对至少60%的题目才能通过考试。考试结束后,小明估算出每题做对的概率,p1,p2,...,pn。你能帮他算出他通过考试的概率吗? 输入 输入第一行一个数n(1 样例输入 4 50 50 50 50
编程题(3):京东-笔试题-2018实习招聘
异或(京东2017实习生真题) 题目描述 异或运算是常见的二进制运算,给出两个n位二进制数a,b。a异或b的运算依次考虑二进制的每一位,若这一位相同,那么这一位的异或结果就是0,不同就是1。例如a=1100, b=0100。执行a异或b的运算,a的最高位是1,b的最高位是0,两个数字不同所以最高位异或结果是1;a和b次高位都是1,所以次高位异或为0;最后两位它们都
京东2018.4.9编程题
最近实在是忙,终于有空来写一下编程题题解。1. 生成回文串这个题当时没有写出来,实在是没有区间dp的经验,只能想到指数复杂度的dfs。(这个题和求子序列能组成的回文串数量是一样的,这个稍微想想就知道了)后来下来经大佬指点发现,这是一个区间dp的题。定义dp[i][j]为[i, j]闭区间的回文串数量,那么状态转移方程就是dp[i][j] = dp[i+1][j] + dp[i][j-1]-dp[i...
1762



被折叠的 条评论
为什么被折叠?



