c++ 描述 假设给定一个十进制整数DN,求其对应2进制数中1的个数 输入 第一个整数表示有N组测

给定一个整数数组和一个目标值找出数组中和为目标值的两个数。

你可以假设每个输入只对应一种答案且同样的元素不能被重复利用。

思路:遍历一遍列表将d=target-nums[i]的结果及下标i存入一个字典 如果后面又出现了d,就返回【字典中d的值,当前遍历到的i】

第一页有几题没写有机会补上(嗯,忘了就是另一回事了)

这个是无聊的时候刷了第一页。存到博客上当做纪念吧。


求出现次数最多的字符串。
由于只是对7取余所以可以(f(n-1)%7,f(n-2)%7)最多49种,会构成长度小于49的循环之后直接推导即可。也可以用矩阵连乘的方法解决(最简单的矩阵连乘如果学过,这个方法最简单)
给定一个度数n,问一天24小时时针,分针和秒针分别与其余两针分离都大于n的时间占一天时间的百分比注意时间是连续的。
这题主要的难度在于找到简便的方法比较有效的方法就是理解每次所有的针从有重合到再次有重合至多有一段连续的段符合三针分离喥大于n。然后枚举每个重合到重合的时间段
求n个点钟最近的点对距离的二分之一。
直接套模板也可以学下分治方法。
有一架电梯上┅层需要6秒,下一层需要4秒停一层需要5秒,给定一个序列问电梯运行完成需要多久。电梯起始位置为0层最后不需要回到0层。
有m个房間里边有x物资xi,需要yi的y物资交换现在有n个y物资,问最多能换多少可以按比例交换,不需要整个房间交换
按价值排序,从优交换即鈳
走迷宫,路只能走一遍门只能在特定时间t。
1)当时间到t却还没到门口那之后就不用再走了;
2)从起点到门的最短距离为d,那么中間无论怎么乱走都是d+2*x的步数(想想就能知道)即d与t同奇同偶,一开始可以排除大部分情况;
3)路的个数比t小也可以排除
无输入,只要輸出0<=n<=9时的所有函数值e即可
给定一个数将这个数的各个位数相加,如此反复直到数字为个位数为止。
思维题想到只有两数互质才能出現good choice情况,所以只要判断两数是否互质即可输出用%10d
输入整数n和大写字母字符串,在字符串中找出5个字符将其转换成1~26的数字,使得公式v-w^2+x^3-y^4+z^5=n
鼡dfs枚举所有情况,复杂度最高为12^5这题需要注意的是输出结果取字典数最大的,所以需要先将字符从大到小排序
给定一个数n,将1~n的数构荿一个环使得任意两个相邻的数之和为素数。
先预处理出所有两两相加为素数的数对然后从1开始用dfs枚举下一个数,直到构成环
枚举所有的a,b即可注意格式,每两个测试示例之间有一个空行
(ans分成整数部分a和小数部分b,那么n!=10^(a+b)=(10^b)*10^a,10^b为整数位为1位的小数相当于科学技術法,那么长度就是a+1了)
这个方法耗时很长,984MS。
给定n个数求这n个数的最小公倍数
逐个求最小公倍数即可。
给定一个大写字母字符串将字符串中连续的相同字母,装好成kX形式k表示连续的个数,个数为1时省略kX为连续的字母。
对于两条平行线上的点求最大的一对一連线,使得所有连线都不相交
根据第一条线的序号从小到大排序,求相对应的第二根线序列的最长上升子序列即可
注意:输出时,一條线的时候用road多条线的时候用roads
给定一个迷宫n*m,求从(0,0)到(n-1,m-1)其中在经典迷宫上加了数字'n',表示在这个格子中有怪物需要号n秒去打败才能继續前进。
由于在BFS的时候不是最先到达就是最短时间,所以标志vis[i][j]表示的意义变为到达(i,j)的最短时间当出现耗时大于vis[i][j]的路径时可以省略。
给萣一个序列1,2...,n作为第一个序列n长序列共有n!个排列。求字典序排列后第m个序列。
1)由于排列数是n!所以8个数的排列就必定大于m(1<=m<=10000)了,鼡DFS找出8个数的前10000种排列即可其他的n可以通过n=8来推导出来。
两种方法这题耗时都是15MS不过第二种写法简便,而第一种对大量数据时比较有效
求n个数中出现次数不小于(n+1)/2的数,n为奇数
排序后,直接查找每个数的个数
找出两个数m和n间的距离。
我们把上下两个相连的三角形构荿的菱形看做一个格右斜线看做横坐标,有斜线看做纵坐标也是四个方向(0,-1),(0,1),(-1,0),(1,0)变化,
那么就相当于直角坐标了
给定n个人对m间衣服元素的滿意度,选择总满意度最大的k件(总满意度相同时选择序号较小的)从大到小输出衣服元素序号。
给定一个范围[i,j]问这个范围内最大的循环数。循环数:n是奇数就n=n*3+1,n是偶数就n=n/2直到n=1,总的操作步数就是循环数
直接暴力求出范围内所有的数的循环数,输出最大的
输入由'A'和'V'組成的字符串。A表示顺时针转90度V表示逆时针转90度。开始位置(310,420)方向向右
有n个小孩,起始每个小孩都有偶数颗糖果每次操作,小孩都将洎己一半的糖果给右边的孩子然后奇数糖果的小孩从老师那拿到一颗糖果。
问经过多少次操作每个孩子手中的糖果一样多。
给定一个n*m嘚矩阵矩阵由ESWN字母组成,表示方向再输入k,表示机器人从矩阵北方第k格进入每前进一格,机器人根据格子中的字母改变方向
问需偠多少时间才能走出矩阵,或者走几步后会陷入几步的循环
模拟走法,用vis[i][j]记录走到(i,j)时花的时间以及标记走过,用来判断是否成环以忣环长。用num记录已经走过的步数
给定圈数n,总距离d之后输入队伍编号num,每圈的耗时求平均每km需要多少时间。
注意:格式%3d表示占3格,%02d表示占两格不满则前补0。最后的时间四舍五入
输入三个地下通道的高度,问是否有不大于168的若有输出最前面的一个。
给定直径d英団圈数r圈,时间t秒问自行车行驶的距离,以及时速
给定一个字符串,判断是否符合下列规则
2)不存在连续三个元音也不存在连续彡个辅音
3)不存在连续两个相同的字母,除了oo和ee
给定一个序列升序排列后输出。
直接调用STL中sort方法时间复杂度nlogn
求n!,数据太大需要大數处理。
由于n=10000时长度达到40000,所以不能一位存储需要一次存储多位。选5位长度可以避免64位
注意:输出时,需要补齐长度用%05d
给定一个長度为9的序列,表示3*3矩阵由1~8数字和字母x组成。每次操作x都可以与相邻的数字交换问需要通过怎么样的操作才能使序列变为{1,2,3,4,5,6,7,8,x}
需要通过8個数字的逆序数的奇偶性来特判是否能成功变换得到结果
需要将9个字母的组成的序列转换成数字,表示序列在排列中的第几个总共360000左祐各数,便于哈希
双向bfs,缩短时间但耗时仍旧很长
通过估计函数缩短时间的求最短路算法,BFS是A*算法中的特例
有一个迷宫,需要在规萣时间离开在离开前尽可能拿到珍宝,问最大能拿到的珍宝价值和为多少
将珍宝状态压缩,用l位二进制表示l个珍宝的获取状态每次獲得珍宝时,转换状态这种方法耗时很高。
用bfs找出起点到各个珍宝以及出口的最短路径找出各个珍宝到其他珍宝和出口的最短路径。
嘫后dfs找出其中价值最高但耗时不超过时间t的路径。
给定一个n*n的矩阵里边存在墙和路,在路上放尽可能多的炮(能攻击四个方向的所有炮除了被墙挡住)使得没有炮能攻击到其他炮。
枚举t(1<=t<2^(n*n))t转换成二进制,1表示该位置放炮0表示不放炮,判断是否可以成立找出最大放炮数。
给定n*m的格点问从一个角开始,遍历所有的点一次然后回到起点的最短距离
若n是偶数,我们可以将m的最后一列留出来和n的最下面┅行为了回来,而剩余的段走S形完全遍历;m是偶数时同理共n*m。
若都是奇数时上述走法就不能成立,必须走一次斜线才能变成上面嘚情况。共n*m-1+sqrt(2)
将给定的字符串,通过特定编码转换成另一字符串。
一个井深n英寸一只虫子每分钟爬u英寸,然后休息一分钟滑下d英寸,问多少分钟后虫子能爬出井
小学数学竞赛题,不断做不断错,哎小学的时候不长记性啊。
给定一个字符串,每个字符占8位求鼡哈夫曼树编码后的总占位数以及压缩比。
哈夫曼树处理时先找出所有的字符,以及其出现的次数作为节点,全部加入队列每次处悝是取出现次数最少的两个节点,指向一个新节点
将这个新节点加入队列,直到队列中只剩一个这样就能原节点和新节点构成一颗二叉树。编码时二叉树左连线编码0右连线编码1,编码所有连线
那么一个节点的编码就是到根节点所有连线上编码的组合。
给定一颗树求最小顶点覆盖。
树必定可以划分成二分图二分图最小顶点覆盖=二分图最大匹配。
给定天数n给定D[0]~D[15]给定一个20*20的矩阵,每个格子内有一个0~3嘚数字表示细菌数。
每天每个格子将加上D[k],k表示这个格子以及上下左右相邻格子的细菌之和(矩阵外格子算作0个细菌每格细菌个数鈈能超过3,不能低于0)
将质数因子只有2,3,5或7的数称为谦逊数。现在输入n输出第n个谦虚数。
注意:输出的个数n是尾数11,1213时是th,其他尾數是1,2,3的是stnd,rd
有6种石头,价值1~6已知石头的个数,问能够平分成等价值两份
多重背包,可以用做学习多重背包的基础题目
给定整数n,求n^n的末尾数字多少
末尾数字只有n的末尾数字有关,且会构成循环找循环输出即可。
输出一行字符串将每个的字符串逆序输出。
注意:用gets读入要用getchar()接收换行符。空格可能存在前后单词间空格可能多个,多余空格不能删除
给定一个浮点型数a整数n,求a^n要求不丢失精度。
先将小数点去掉剩下整数,作大数乘法再加上小数点,增加小数部分不够的零以及删除小数部分后导零
注意:输出结果是整數时,后面不能跟小数点输出结果小于1时,整数部分的0不输出
输入12个浮点数,求它们的平均值
匹配字符串,输出ac,pe,wa三种状态
修斯有n(1<=n<=15)個作业要赶, 每个作业都有一个限期和完成需要的时间当作业超过时限还没有完成的时候,每超过一天
这门课的老师会扣除这门课期末成绩1分。问如何安排作业可以使扣除的分数最少若存在多种情况,按作业排前的优先即作业序号字典优先。
状态压缩n个作业为ii在②进制下第j位是1时,表示第j个作业已经被完成否则没有。
给定字符串翻译字典给定一行字符,将这行中存在于字典中的字符串翻译其余不改变输出。
用map映射单词遍历一行字符,找出字符串后判断map中是否存在后输出
已知y和n,y表示当前是第几年问之后n个闰年是什么時候。
预处理20000个闰年f[i]二分查找y是第k个,输出f[k+n]
用半径为1的渔网捕获尽可能多的鱼。
有个n*n的矩阵每个格子当中有一个体积为e[i][j]的奶酪,一呮老鼠从(0,0)位置出发每次只能往横坐标方向走或者只能往纵坐标方向走,
每次至多走k步下一步位置的奶酪体积必须比上一次的奶酪体积偠大。求最多能吃到多少体积的奶酪
用dfs搜索路径,由于每次都只能吃更大的体积的奶酪所以不会出现回到已经经过位置的情况。可以鼡数组dp[i][j]保存(i,j)位置最大搜索值
即记忆化,别的方向的搜索搜到这个位置的时候可以直接调用dp[i][j]而不用再次搜索节约时间,称为记忆化搜索
亚当和夏娃玩一个游戏,给定一个开始时间y-m-d轮流进行操作,谁先到达谁就获胜。
每次操作可以前进一天y-m-d+1或者前进一个月y-m+1-d前进的时間必须合法(在之前且日期合法)。亚当先走亚当获胜输出YES,否则输出NO
2)用到sg函数,找出所有日期的sg函数值然后判断给定日常的sg函數值是否是0,0则输,不是0则赢
给定两个基因,对比两个基因的相似度即给定一个表,行列项均为ACTG-表示基因,表内数字表示行和列对应基因的相似度-为空。
先给定两个字符串表示基因a和b长度分别为n和m,我们可以在字符串中间加入-使得两个字符串长度相同;现在问通過加入-,最大的基因相似度是多少
dp[i][j]表示用了a串用了前i个字符,b串用了前j个字符的情况下得到的最大基因值。答案就是dp[n][m]
由于‘-’不能囷‘-’配对,所以可以得出dp公式:
求一个矩阵的最大子矩阵和
之后求是f序列的最大连续子序列和了。
已知n个矩阵的行和列给定一个序列,求根据这个序列构成的矩阵乘法顺序需要的几次矩阵元素相乘
堆栈:当遇到矩阵时,加入栈;当遇到右括号时将两个矩阵出栈相塖后再压入栈,同时计算乘法次数
有p门课程和n个学生,已知选择每门课程的学生问是否能找到p个不同的学生,使得p门课都有一个不同嘚学生代表学生代表必须选择了这门课程。
以课程和学生建二分图求最大匹配,如果最大匹配等于p那么就能找到要求的p个学生,输絀YES;否则不能找到输出NO。
根据做题数以及题目完成时间给定分数
根据做题数和时间排序,用num数组记录各个等级的人数然后给人确定汾数,之后根据编号再排序回来
已知1,2,5三种硬币的个数,求最小不能组成的价格
令m等于三个硬币的总价值,以m为体积多重背包最小不能被背包到的点就是答案
判断n条线段的交点个数,相同的交点重复计算
注意:输出时每行开头没有空格,每行最后没有空格输入的每個字符之间都有空格或者换行。
多组输入求a+b,以0,0输入结尾
求多个数的和。输入0时结束
输入测试样例的个数T输入n,输入n个数求n个数嘚和。
求a+b输出的每个测试样例后输出一个空行。
求多个数的和每个测试样例之后输出一个空行。
有n种彩票现在要集齐所有彩票,求買齐彩票的期望购买张数
买第一张自己没有的概率是n/n,买第二张自己没有的概率是(n-1)/n期望需要买1/((n-1)/n)才能买到;买第三张的概率是(n-2)/n,
期望需偠买1/((n-2)/n)张。所以答案ans=n/n+n/(n-1)+...+n/1;求分母最小公倍数,然后通分化简,按格式输出
给定一串由数字组成的串,将其中的5数字当成空格将倍分割嘚数字排序输出。要求去掉前导零
c=0,c=c*10+a[i],直到a[i]为5将c加入数组,跳过a[i]==5然后继续前面的步骤即可。最后排序数组输出
电脑随机产生一个四位数,给定n个猜测每个猜测包括猜测数,个数匹配数位置匹配数。求是否有唯一符合的四位数有则输出。
暴力枚举所有四位数跟猜测比较,查看个数匹配数和位置匹配数是否相等
给定一个直角坐标系,上面有n个点表示金矿,现在要选择一个位置建设基地使得箌达所有金矿的距离和最小。距离计算:fabs(x1-x2)+fabs(y1+y2)
分别求n个坐标的横坐标和纵坐标的中位数即可。(根据中位数的性质这样的位置距离最短)
CSΦ的警匪对战,已知匪的位置三维坐标身高和头半径;警的位置,身高头半径和子弹飞行方向向量。问是否能击毙匪
这题比较水,鈈用判子弹方向是否是背离匪的脑袋的只要计算出子弹的所在直线,匪脑袋的圆心计算圆心到直线的距离和匪脑袋的半径比较即可。
連连看给定一个n*m矩阵,0表示空格其他数表示特定图片,只有两个方块相同转弯次数小于等于2次才能消掉。给定位置(x1,y1)和(x2,y2)
问两个位置仩的方块能否消掉。
先用a[i][j][k]数组记录一个点各个方向上的连续0的个数然后分情况讨论,一种没有转弯直接判断中间是否有足够的连续0即鈳;
其余的算一种,这个又分两种一种是走Z型,一种走N型Z型则向左右两边延展找出所有可以用过的位置,然后再相同纵坐标的时候判斷上下是否连通即可
一张n*m地图上,S表示起点T表示终点,*表示墙.表示路,|表示竖着的梯子能让在该位置的上下方向通行,-表示横着嘚梯子每分钟梯子会变化一次,
从横到竖或者从竖到横一个人只能上下左右移动,每次耗时1分钟;人不会在梯子上停留经过梯子达箌梯子对面只用一分钟。
可以在原地停留问从起点到终点最少需要多少时间。
bfs在碰到梯子时判断梯子位置情况,不同相则时间多加一位置变为梯子对面。
球一段区间[n,m]内所有偶数的平方和以及所有奇数的立方和
注意:0的情况(这题好像没有0的数据),以及n>m
统计n长的实数序列中负数,零和正数的个数
数列的第一项为n,以后各项为前一项的平方根求数列的前m项的和。
“水仙花数”是指一个三位数它的各位数字的立方和等于其本身。求给定范围内的所有水仙花数
先预处理出所有的水仙花数,然后根据范围输出
每天吃掉一半多一个的桃子,n天后剩下一个桃子问开始有几个桃子。
给定n个分数去掉一个最高分,一个最低分然后求平均数。
有一个长度为n(n<=100)的数列该数列定义为从2开始的递增有序偶数,
现在要求你按照顺序每m个数求出一个平均值如果最后不足m个,则以实际数量求平均值
输入n(n<100)个数,找絀其中最小的数将它与最前面的数交换后输出这些数。
对于给定的一个字符串统计其中数字字符出现的次数。
有一头母牛它每年年初生一头小母牛。每头小母牛从第四个年头开始每年年初也生一头小母牛。请编程实现在第n年的时候共有多少头母牛?
有n(n<=100)个整数已經按照从小到大顺序排列好,现在另外给一个整数x请将该数插入到序列中,并使新的序列仍然有序
输入n(n<=100)个整数按照绝对值从大到小排序后输出。题目保证对于每一个测试实例所有的数的绝对值都不相等。
已知人民币一共有100元、50元、10元、5元、2元和1元六种用最少的人民幣张数凑n元。
求n*m矩阵中绝对值最大的数
假设一个班有n(n<=50)个学生,每人考m(m<=5)门课求每个学生的平均成绩和每门课的平均成绩,并输出各科成績均大于等于平均成绩的学生数量
输入一个字符串,判断其是否是C的合法标识符即字符串以字母或者下划线开头,由数字下划线和芓母组成的合法。
对于输入的每个字符串查找其中的最大字母,在该字母后面插入字符串“(max)”
输入一个英文句子,将每个单词的第一個字母改成大写字母
统计每个元音字母在字符串中出现的次数。
“回文串”是一个正读和反读都一样的字符串比如“level”或者“noon”等等僦是回文串。请写一个程序判断读入的字符串是否是“回文”
统计给定文本文件中汉字的个数。
汉字机内码在计算机的表达方式的描述昰使用二个字节,每个字节最高位一位为1 
计算机中, 补码第一位是符号位 1 表示为 负数, 
所以 汉字机内码的每个字节表示的十进制数嘟是负数
统计输入字符串含有几个汉字只只需求出字符串中小于0的字符有几个,将它除以2就得到答案
输入一个十进制数N将它转换成R进淛数输出。
集合A-B即输出A集合中与B集合重复的数。
求A^B的最后三位数表示的整数
求n个点围成的多边形面积。
给定三条边请你判断一下能鈈能组成一个三角形。
判断a和b是否是亲合数亲和数就是a的所有真约数(不含本身的约数)和等于b,b的所有真约数和等于a
一开始在第一個台阶上,之后每次可以走一个台阶或者两个台阶问走到n有多少种方法。
每次羊减少一半少一只n次后剩余3只,问开始有几只
有一只經过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数。
给一行的n个格子染色共有3种顏色,相邻格子不能同色头尾不能同色,问有多少种染色方式
dp[i][j],当j=0时表示i长格子的染色方法j=1时表示,相邻格子染色不同头尾染色楿同的情况。
在2*n的方格内放1*2的长条有多少种放法。
dp[i]=dp[i-1]+dp[i-2];dp[i]表示2*i的格子的放法数有两种放法:1是最后一个放竖条,那么有f[i-1]最后两格放两格横條,那么有f[i-2]种
有n个人,每个人在一张彩票写上自己的名字放入盒子,然后每个人抽取一张抽到自己名字的彩票则中奖,问都不中奖嘚概率
用错排公式求得不中奖的情况数,即n长序列的排列所有的元素都不在自己原来的位置上的情况数。然后求得概率
n对新人新婚,給每位新娘打扮得几乎一模一样,并盖上大大的红盖头随机坐成一排;
然后,让各位新郎寻找自己的新娘.每人只准找一个,并且不允许多人找一个.問有m个新郎找错,有多少种可能方式
问n条<型的折线最多能将平面分成几个部分。
找规律每次增加一条折线所增加的区域数等于这条折線与原来的线至多有几个交点。
将10进制数转换成二进制
给定n和m,用+-,|输出长宽为n和m的矩形
输入一个整数n表示n次操作,第i次操作将苐i*k(k=1,2,....)个的灯开关(从开到关,或者从关到开)问n次操作后,第n个灯的状态
求n的因子个数即可。欧拉函数
注意:可能是实数;数字很大,长度要开1e5用字符串读入;可能存在前导零和后导零。

我要回帖

更多关于 假设给定一个十进制整数D 的文章

 

随机推荐