Hankson的趣味题题解
0x32-约数-hankson的趣味题
0x32-约数-hankson的趣味题英文版0x32 - Divisors - Hankson's Fun PuzzleIn the realm of mathematics, puzzles often present themselves in intriguing forms, testing the wits and problem-solving abilities of those who dare to挑战 them. One such puzzle, aptly named "Hankson's Fun Puzzle," challenges us to explore the concept of divisors.Hankson's puzzle poses a question: Given four integers, a, b, c, and d, how many positive integers x satisfy the following conditions?x is a divisor of a (x divides a evenly, with no remainder).x + a is a divisor of b (x plus a divides b evenly).x - a is a divisor of c (x minus a divides c evenly).x is a divisor of d (x divides d evenly).The puzzle lies in the fact that not all integers x will satisfy these conditions, and the goal is to find the number of such x that do.To solve this puzzle, we must delve into the world of divisors and factoring. We need to analyze each condition individually, considering how x interacts with the given integers a, b, c, and d. For instance, to satisfy the first condition, x must be a factor of a. Similarly, to fulfill the fourth condition, x must also be a factorof d.The real challenge lies in the second and third conditions, which introduce the variables x + a and x - a into the mix. Here, we need to explore how these new expressions interact with b and c, respectively, and determine when they become divisorsof those numbers.By carefully examining each condition and applying the principles of divisibility, we can solve Hankson's puzzle and find the number of positive integers x that satisfy all the given conditions. This puzzle not only tests our mathematical skills butalso challenges our logical thinking and problem-solving abilities.中文版0x32-约数-Hankson的趣味题在数学领域,谜题常常以引人入胜的形式出现,考验着敢于挑战的人的智慧和解决问题的能力。
NOIP提高组复赛题目
第一题题库NOIP20071.统计数字(count.pas/c/cpp)【问题描述】某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*109)。
已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。
【输入】输入文件count.in包含n+1行:第1行是整数n,表示自然数的个数。
第2~n+1行每行一个自然数。
【输出】输出文件count.out包含m行(m为n个自然数中不相同数的个数),按照自然数从小到大的顺序输出。
每行输出两个整数,分别是自然数和该数出现的次数,其间用一个空格隔开。
【输入输出样例】【限制】40%的数据满足:1<=n <=100080%的数据满足:1<=n <=50000100%的数据满足:1<=n <=200000,每个数均不超过1 500 000 000(1.5*109)NOIP20081. 笨小猴(wird.pas/c/cpp)【问题描述】笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。
但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!这种方法的具体描述如下:假设maxn 是单词中出现次数最多的字母的出现次数,minn 是单词中出现次数最少的字母的出现次数,如果maxn-minn 是一个质数,那么笨小猴就认为这是个Lucky Word ,这样的单词很可能就是正确的答案。
【输入】输入文件word.in 只有一行,是一个单词,其中只可能出现小写字母,并且长度小于100。
【输出】输出文件word.out 共两行,第一行是一个字符串,假设输入的的单词是Lucky Word ,那么输出“Lucky Word ”,否则输出“No Answer ”;第二行是一个整数,如果输入单词是Lucky Word,输出maxn-minn 的值,否则输出0。
信息学奥赛一本通题解目录-信息学奥赛取消
信息学奥赛一本通题解目录:信息学奥赛取消第1章数论1.1整除1.2同余1.3最大公约数1.3.1辗转相除法1.3.2进制算法1.3.3最小公倍数1.3.4扩展欧几里得算法1.3.5求解线性同余方程1.4逆元1.5中国剩余定理1.6斐波那契数1.7卡特兰数1.8素数1.8.1素数的判定1.8.2素数的相关定理1.8.3Miller-Rabin素数测试1.8.4欧拉定理1.8.5PollardRho算法求大数因子1.9Baby-Step-Giant-Step及扩展算法1.10 欧拉函数的线性筛法1.11本章习题第2章群论2.1置换2.1.1群的定义2.1.2群的运算2.1.3置换2.1.4置换群2.2拟阵2.2.1拟阵的概念2.2.2拟阵上的最优化问题2.3Burnside引理2.4Polya定理2.5本章习题第3章组合数学3.1计数原理3.2稳定婚姻问题3.3组合问题分类3.3.1存在性问题3.3.2计数性问题3.3.3构造性问题3.3.4最优化问题3.4排列3.4.1选排列3.4.2错位排列3.4.3圆排列3.5组合3.6母函数3.6.1普通型母函数3.6.2指数型母函数3.7莫比乌斯反演3.8Lucas定理3.9本章习题第4章概率4.1事与概率4.2古典概率4.3数学期望4.4随机算法4.5概率函数的收敛性4.6本章习题第5章计算几何5.1 解析几何初步5.1.1平面直角坐标系5.1.2点5.1.3直线5.1.4线段5.1.5多边形5.1.6圆5.2矢量及其运算5.2.1矢量的加减法5.2.2矢量的数量积5.2.3矢量的矢量积5.3计算几何的基本算法5.4平面凸包5.5旋转卡壳5.5.1计算距离5.5.2外接矩形5.5.3三角剖分5.5.4凸多边形属性5.6半平面交5.7离散化5.8本章习题第6章矩阵6.1 矩阵及其运算6.1.1矩阵的基本运算6.1.2矩阵的乘法运算6.1.3矩阵的行列式6.1.4矩阵的特殊类别6.2数字方阵6.3线性方程组及其解法6.3.1高斯消元法6.3.2LU分解法6.4 Matrix.Tree定理6.5本章习题第7章函数7.1 函数的基本知识7.1.1 函数的特性7.1.2常见的函数类型7.2函数的单调性7.3函数的凹凸性7.4SG函数7.5快速傅立叶变换7.6快速数论变换7.7 本章习题第一部分 C++语言第一章 C++语言入门T1001 Hello,World!T1002 输出第二个整数T1003 对齐输出T1004 字符三角形T1005 地球人口承载力估计第二章顺序结构程序设计第一节运算符和表达式T1006 A+B问题T1007 计算(a+b)*c的值T1008 计算(a+b)/c的值T1009 带余除法T0 计算分数的浮点数值第二节常量和变量T1 甲流疫情死亡率T2 计算多项式的值T3 温度表达转化T4 与圆相关的计算T5 计算并联电阻的阻值第三节标准数据类型T6 整型数据类型存储空间大小T7 浮点型数据类型存储空间大小T8 其他数据类型存储空间大小T9 浮点数向零舍入T1020 打印ASCII码T1021 打印字符T1022 整型与布尔型的转换T1023 Hello,World!的大小第四节数据输入输出T1024 保留3位小数的浮点数T1025 保留12位小数的浮点数T1026 空格分隔输出T1027 输出浮点数T1028 字符菱形第五节顺序结构实例T1029 计算浮点数相除的余T1030 计算球的体积T1031 反向输出一个三位数T1032 大象喝水T1033 计算线段长度T1034 计算三角形面积T1035 等差数列末项计算T1036 A*B问题T1037 计算2的幂T1038 苹果和虫子第三章程序的控制结构第一节 if选择结构T1039 判断数正负T1040 输出绝对值T1041 奇偶数判断T1042 奇偶ASCII值判断T1043 整数大小比较T1044 判断是否为两位数T1045 收集瓶盖赢大奖T1046 判断一个数能否同时被3和5整除T1047 判断能否被3,5,7整除T1048 有一门课不及格的学生第二节 switch语句T1049 晶晶赴约会T1050 骑车与走路T1051 分段函数T1052 计算邮资T1053 最大数输出T1054 三角形判断T1055 判断闰年T1056 点和正方形的关系T1057 简单计算器T1058 求一元二次方程第四章循环结构的程序设计第一节 for语句T1059 求平均年龄T1060 均值T1061 求整数的和与均值T1062 最高的分数T1063 最大跨度值T1064 奥运奖牌计数T1065 奇数求和T1066 满足条的数累加T1067 整数的个数T1068 与指定数字相同的数的个数T1069 乘方计算T1070 人口增长T1071 菲波那契数T1072 鸡尾酒疗法T1073 救援T1074 津津的储蓄计划T1075 药房管理T1076 正常血压T1077 统计满足条的4位数T1078 求分数序列和T1079 计算分数加减表达式的值T1080 余数相同问题T1081 分苹果T1082 求小数的某一位T1083 计算星期几T1084 幂的末尾第二节 while与do-while语句T1085 球弹跳高度的计算T1086 角谷猜想T1087 级数求和T1088 分离整数的各个数T1089 数字反转T1090 含k个3的数第三节循环嵌套T1091 求阶乘的和T1092 求出e的值T1093 计算多项式的值T1094 与7无关的数T1095 数1的个数T1096 数字统计T1097 画矩形T1098 质因数分解T1099 第n小的质数T1100 金币T1 不定方程求解第五章数组第一节一维数组T1102 与指定数字相同的数的个数T1103 陶陶摘苹果T1104 计算书费T1105 数组逆序重存放T1106 年龄与疾病T1107 校门外的树T1108 向量点积计算T1109 开关灯T1110 查找特定的值T1111 不高兴的津津T1112 最大值和最小值的差T1113 不与最大数相同的数字之和T1114 白细胞计数T1115 直方图T1116 最长平台T1117 整数去重T1118 铺地毯第二节二维数组T1119 矩阵交换行T1120 同行列对角线的格T1121 计算矩阵边缘元素之和T1122 计算鞍点T1123 图像相似度T1124 矩阵加法T1125 矩阵乘法T1126 矩阵转置T1127 图像旋转T1128 图像模糊处理第三节字符类型和字符数组T1129 统计数字字符个数T1130 找第一个只出现一次的字符T1131 基因相关性T1132 石头剪子布T1133 输出亲朋字符串T1134 合法C标识符T1135 配对碱基链T1136 密码翻译T1137 加密的病历单T1138 将字符串中的小写字母转换成大写字母T1139 整理药名T1140 验证子串T1141 删除单词后缀T1142 单词的长度T1143 最长最短单词T1144 单词翻转T1145 字符串p型编码T1146 判断字符串是否为回文T1147 最高分数的学生姓名T1148 连续出现的字符T1149 最长单词第六章函数第一节函数T1150 求正整数2和n之间的完全数T1151 素数个数T1152 最大数max(x,y,z)T1153 绝对素数T1154 亲和数T1155 回文三位数T1156 求π的值T1157 哥德巴赫猜想T1397 简单算术表达式求值T1398 短信计费T1399 甲流病人初筛T1400 统计单词数T1401 机器翻译T1402 Vigenère密码T1403 素数对T1404 我家的门牌号T1405 质数的和与积T1406 单词替换T1407 笨小猴T1408 素数回文数的个数T1409 判决素数个数T1410 最大质因子序列T1411 区间内的真素数T1412 二进制分类T1413 确定进制第二节递归算法T1158 求1+2+3.+...T1159 斐波那契数列T1160 倒序数T1161 转进制T1162 字符串逆序T1163 阿克曼(Ackmann)函数T1164 digit函数T1165 Hermite多项式T1166 求f(x,n)T1167 再求f(x,n)第二部分基础算法第一章高精度计算T1307 高精度乘法T1308 高精除T1309 回文数T1168 大整数加法T1169 大整数减法T1170 计算2的N次方T1171 大整数的因子T1172 求10000以内n的阶乘T1173 阶乘和T1174 大整数乘法T1175 除以13第二章数据排序T1310 车厢重组T1311 求逆序对T1176 谁考了第k名T1177 奇数单增序列T1178 成绩排序T1179 奖学金T1180 分数线划定T1181 整数奇偶排序T1182 合影效果T1183 病人排队T1184 明明的随机数T1185 单词排序T1186 出现次数超过一半的数T1187 统计字符数第三章递推算法T1312 昆虫繁殖T1313 位数问题T1314 过河卒T1188 菲波那契数列T1189 Pell数列T1190 上台阶T1191 流感传染T1192 放苹果T1193 吃糖果T1194 移动路线T1195 判断整除T1196 踩方格T1197 山区建小学第四章递归算法T1315 集合的划分T1316 数的计数T1198 逆波兰表达式T1199 全排列T1200 分解因数T1201 菲波那契数列T1202 Pell数列T1203 扩号匹配问题T1204 爬楼梯T1205 汉诺塔问题T1206 放苹果T1207 求最大公约数问题T1208 2的幂次方表示T1209 分数求和T1210 因子分解T1211 判断元素是否存在第五章搜索与回溯算法(DFS)T1317 组合的输出T1318 自然数的拆分T1212 LETTERST1213 八皇后问题T1214 八皇后T1215 迷宫T1216 红与黑T1217 棋盘问题T1218 取石子游戏T1219 马走日T1220 单词接龙T1221 分成互质组T1222 放苹果第六章贪心算法T1319 排队接水T1320 均分纸牌T1321 删数问题T1322 拦截导弹问题T1323 活动选择T1324 整数区间T1223 An Easy Problem T1224 最大子矩阵T1225 金银岛T1226 装箱问题T1227 Ride to OfficeT1228 书架T1229 电池的寿命T1230 寻找平面上的极大点T1231 最小新整数T1232 Crossing RiverT1233 接水问题第七章分治算法T1325 循环比赛日程表T1326 取余运算T1327 黑白棋子的移动T1328 光荣的梦想T1234 2020T1235 输出前k大的数T1236 区间合并T1237 求排列的逆序数T1238 一元三次方程求解T1239 统计数字T1240 查找最接近的元素T1241 二分法求函数的零点T1242 网线主管T1243 月度开销T1244 和为给定数T1245 不重复地输出数T1246 膨胀的木棍T1247 河中跳房子第八章广度优先搜索(BFS)T1329 细胞T1330 最少步数T1248 Dungeon MasterT1249 Lake CountingT1250 The CastleT1251 仙岛求药T1252 走迷宫T1253 抓住那头牛T1254 走出迷宫T1255 迷宫问题T1256 献给阿尔吉侬的花束T1257 Knight Moves第九章动态规划第一节动态规划的基本模型T1258 数字金字塔T1259 求最长不下降序列T1260 拦截导弹T1261 城市交通路网T1262 挖地雷T1263 友好城市T1264 合唱队形T1265 最长公共子序列T1266 机器分配T1281 最长上升子序列T1282 最大子矩阵T1283 登山T1284 摘花生T1285 最大上升子序列和T1286 怪盗基德的滑翔翼T1287 最低通行费T1288 三角形最佳路径问题T1289 拦截导弹第二节背包问题T1267 01背包问题T1268 完全背包问题T1269 庆功会T1270 混合背包T1271 潜水员T1272 分组背包T1273 货币系统T1290 采药T1291 数字组合T1292 宠物小精灵之收服T1293 买书T1294 Charm BraceletT1295 装箱问题T1296 开餐馆第三节动态规划经典问题T1274 合并石子T1275 乘积最大T1276 编辑距离T1277 方格取数T1278 复制书稿T1279 橱窗布置T1280 滑雪T1297 公共子序列T1298 计算字符串距离T1299 糖果T1300 鸡蛋的硬度T1301 大盗阿福T1302 股票买卖T1303 鸣人的影分身T1304 数的划分T1305 Maximum sumT1306 最长公共子上升序列第三部分数据结构第一章栈T1331 后缀表达式的值T1353 表达式括号匹配T1354 括弧匹配检验T1355 字符串匹配问题T1356 计算T1357 车厢调度T1358 中缀表达式值第二章队列T1332 周末舞会T1333 Blah数集T1334 围圈报数T1335 连通块T1359 围成面积T1360 奇怪的电梯T1361 产生数T1362 家庭问题第三章树与堆第一节树与二叉树T1336 找树根和孩子T1337 单词查找树T1338 医院设置T1339 求后序遍历T1340 扩展二叉树T1363 小球T1364 二叉树遍历T1365 FBI树T1366 二叉树输出T1367 查找二叉树T1368 对称二叉树第二节堆及其应用T1369 合并果子T1370 最小函数值T1371 看病T1372 小明的账单T1373 鱼塘钓鱼第四章图论算法第一节图的遍历T1341 一笔画问题T1374 铲雪车T1375 骑马修栅栏第二节最短路径算法T1342 最短路径问题T1343 牛的旅行T1344 最小花费T1345 香甜的黄油T1376 信使T1377 最优乘车T1378 最短路径T1379 热浪T1380 分糖果T1381 城市路T1382 最短路第三节图的连通性问题T1383 刻录光盘T1384 珍珠第四节并查集T1346 亲戚T1347 格子游戏T1385 团伙T1386 打击犯罪T1387 搭配购买T1388 家谱T1389 亲戚T1390 食物链第五节最小生成树T1348 城市公交网建设问题T1349 最优布线问题T1350 最短网络T1351 家谱树T1391 局域网T1392 繁忙的都市T1393 联络员T1394 连接格点第六节拓扑排序与关键路径T1352 奖金T1395 烦人的幻灯片T1396 病毒第一部分基础算法第 1 章贪心算法#10000 「一本通 1.1 例 1」活动安排#10001 「一本通 1.1 例 2」种树#10002 「一本通 1.1 例 3」喷水装置#10003 「一本通 1.1 例 4」加工生产调度#10004 「一本通 1.1 例 5」智力大冲浪#10005 「一本通 1.1 练习 1」数列极差#10006 「一本通 1.1 练习 2」数列分段#10007 「一本通 1.1 练习 3」线段#10008 「一本通 1.1 练习 4」家庭作业#10009 「一本通 1.1 练习 5」钓鱼#10010 「一本通 1.1 练习 6」糖果传递第 2 章二分与三分#10011 「一本通 1.2 例 1」愤怒的牛#10012 「一本通 1.2 例 2」Best Cow Fences #10013 「一本通 1.2 例 3」曲线#10014 「一本通 1.2 练习 1」数列分段 II#10015 「一本通 1.2 练习 2」扩散#10016 「一本通 1.2 练习 3」灯泡#10017 「一本通 1.2 练习 4」传送带第 3 章深搜的剪枝技巧#10018 「一本通 1.3 例 1」数的划分#10019 「一本通 1.3 例 2」生日蛋糕#10020 「一本通 1.3 例 3」小木棍#10021 「一本通 1.3 例 4」Addition Chains #10249 「一本通 1.3 例 5」weight ←留意题号#10022 「一本通 1.3 练习 1」埃及分数#10023 「一本通 1.3 练习 2」平板涂色#10024 「一本通 1.3 练习 3」质数方阵#10025 「一本通 1.3 练习 4」靶形数独第 4 章广搜的优化技巧#10026 「一本通 1.4 例 1」电路维修#10027 「一本通 1.4 例 2」魔板#10028 「一本通 1.4 例 3」Knight Moves#10029 「一本通 1.4 练习 1」棋盘游戏#10030 「一本通 1.4 练习 2」Keyboarding#10031 「一本通 1.4 练习 3」移动玩具#10032 「一本通 1.4 练习 4」山峰和山谷第二部分字符串算法第 1 章哈希和哈希表#10033 「一本通 2.1 例 1」Oulipo#10034 「一本通 2.1 例 2」图书管理#10035 「一本通 2.1 练习 1」Power Strings#10036 「一本通 2.1 练习 2」Seekthe Name, Seek the Fame#10037 「一本通 2.1 练习 3」Friends#10038 「一本通 2.1 练习 4」A Horrible Poem#10039 「一本通 2.1 练习 5」Beads#10040 「一本通 2.1 练习 6」Antisymmetry#10041 「一本通 2.1 练习 7」门票#10042 「一本通 2.1 练习 8」收集雪花第 2 章 KMP 算法#10043 「一本通 2.2 例 1」剪花布条#10044 「一本通 2.2 例 2」Power Strings#10045 「一本通 2.2 练习 1」Radio Transmission#10046 「一本通 2.2 练习 2」OKR-Periods of Words #10047 「一本通 2.2 练习 3」似乎在梦中见过的样子#10048 「一本通 2.2 练习 4」Censoring第 3 章 Trie 字典树#10049 「一本通 2.3 例 1」Phone List#10050 「一本通 2.3 例 2」The XOR Largest Pair#10051 「一本通 2.3 例 3」Nikitosh 和异或#10052 「一本通 2.3 练习 1」Immediate Decodability #10053 「一本通 2.3 练习 2」L 语言#10054 「一本通 2.3 练习 3」Secret Message 秘密信息#10055 「一本通 2.3 练习 4」背单词#10056 「一本通 2.3 练习 5」The Xor-longest Path 第 4 章 AC 自动机#10057 「一本通 2.4 例 1」Keywords Search#10058 「一本通 2.4 练习 1」玄武密码#10059 「一本通 2.4 练习 2」Censoring#10060 「一本通 2.4 练习 3」单词#10061 「一本通 2.4 练习 4」最短母串#10062 「一本通 2.4 练习 5」病毒#10063 「一本通 2.4 练习 6」文本生成器第三部分图论第 1 章最小生成树#10064 「一本通 3.1 例 1」黑暗城堡#10065 「一本通 3.1 例 2」北极通讯网络#10066 「一本通 3.1 练习 1」新的开始#10067 「一本通 3.1 练习 2」构造完全图#10068 「一本通 3.1 练习 3」秘密的牛奶运输#10069 「一本通 3.1 练习 4」Tree#10070 「一本通 3.1 练习 5」最小生成树计数#10071 「一本通 3.1 练习 6」次小生成树第 2 章最短路#10072 「一本通 3.2 例 1」Sightseeing Trip #10073 「一本通 3.2 例 2」拯救大兵瑞恩#10074 「一本通 3.2 例 3」架设电话线#10075 「一本通 3.2 练习 1」农场派对#10076 「一本通 3.2 练习 2」Roadblocks#10077 「一本通 3.2 练习 3」最短路计数#10078 「一本通 3.2 练习 4」新年好#10079 「一本通 3.2 练习 5」最优贸易#10080 「一本通 3.2 练习 6」汽车加油行驶#10081 「一本通 3.2 练习 7」道路和航线第 3 章 SPFA 算法的优化#10082 「一本通 3.3 例 1」Word Rings#10083 「一本通 3.3 例 2」双调路径#10084 「一本通 3.3 练习 1」最小圈#10085 「一本通 3.3 练习 2」虫洞#10086 「一本通 3.3 练习 3」Easy SSSP 第 4 章差分约束系统#10087 「一本通 3.4 例 1」Intervals#10088 「一本通 3.4 例 2」出纳员问题#10089 「一本通 3.4 练习 1」糖果#10090 「一本通 3.4 练习 2」排队布局第 5 章强连通分量#10091 「一本通 3.5 例 1」受欢迎的牛#10092 「一本通 3.5 例 2」最大半连通子图#10093 「一本通 3.5 练习 1」网络协议#10094 「一本通 3.5 练习 2」消息的传递#10095 「一本通 3.5 练习 3」间谍网络#10096 「一本通 3.5 练习 4」抢掠计划#10097 「一本通 3.5 练习 5」和平委员会第 6 章割点和桥#10098 「一本通 3.6 例 1」分离的路径#10099 「一本通 3.6 例 2」矿场搭建#00 「一本通 3.6 练习 1」网络#01 「一本通 3.6 练习 2」嗅探器#02 「一本通 3.6 练习 3」旅游航道#03 「一本通 3.6 练习 4」电力#04 「一本通 3.6 练习 5」Blockade第 7 章欧拉回路#05 「一本通 3.7 例 1」欧拉回路#06 「一本通 3.7 例 2」单词游戏#07 「一本通 3.7 练习 1」欧拉回路#08 「一本通 3.7 练习 2」Ant Trip#09 「一本通 3.7 练习 3」John's Trip #10 「一本通 3.7 练习 4」太鼓达人#11 「一本通 3.7 练习 5」相框#12 「一本通 3.7 练习 6」原始生物第四部分数据结构第 1 章树状数组#13 「一本通 4.1 例 1」数列操作#14 「一本通 4.1 例 2」数星星 Stars#15 「一本通 4.1 例 3」校门外的树#16 「一本通 4.1 练习 1」清点人数#17 「一本通 4.1 练习 2」简单题#18 「一本通 4.1 练习 3」打鼹鼠第 2 章 RMQ 问题#19 「一本通 4.2 例 1」数列区间最大值#20 「一本通 4.2 例 2」最敏捷的机器人#21 「一本通 4.2 例 3」与众不同#22 「一本通 4.2 练习 1」天才的记忆#23 「一本通 4.2 练习 2」奶牛排队 Balanced Lineup#24 「一本通 4.2 练习 3」选择客栈第 3 章线段树#25 「一本通 4.3 例 1」区间和#26 「一本通 4.3 例 2」A Simple Problem with Integers #27 「一本通 4.3 练习 1」最大数#28 「一本通 4.3 练习 2」花神游历各国#29 「一本通 4.3 练习 3」维护序列第 4 章倍增求 LCA#30 「一本通 4.4 例 1」点的距离#31 「一本通 4.4 例 2」暗的连锁#32 「一本通 4.4 例 3」异象石#33 「一本通 4.4 例 4」次小生成树#34 「一本通 4.4 练习 1」Dis#35 「一本通 4.4 练习 2」祖孙询问#36 「一本通 4.4 练习 3」聚会#37 「一本通 4.4 练习 4」跳跳棋第 5 章树链剖分#39 「一本通 4.5 练习 1」树上操作#40 「一本通 4.5 练习 2」软包管理器#41 「一本通 4.5 练习 3」染色#42 「一本通 4.5 练习 4」旅行第 6 章平衡树 Treap#43 「一本通 4.6 例 1」营业额统计#44 「一本通 4.6 练习 1」宠物收养所#45 「一本通 4.6 练习 2」郁闷的出纳员#46 「一本通 4.6 练习 3」普通平衡树第五部分动态规划第 1 章区间类动态规划#47 「一本通 5.1 例 1」石子合并#48 「一本通 5.1 例 2」能量项链#49 「一本通 5.1 例 3」凸多边形的划分#50 「一本通 5.1 练习 1」括号配对#51 「一本通 5.1 练习 2」分离与合体#52 「一本通 5.1 练习 3」矩阵取数游戏第 2 章树型动态规划#53 「一本通 5.2 例 1」二叉苹果树#54 「一本通 5.2 例 2」选课#55 「一本通 5.2 例 3」数字转换#57 「一本通 5.2 例 5」皇宫看守#58 「一本通 5.2 练习 1」加分二叉树#59 「一本通 5.2 练习 2」旅游规划#60 「一本通 5.2 练习 3」周年纪念晚会#61 「一本通 5.2 练习 4」叶子的颜色#62 「一本通 5.2 练习 5」骑士第 3 章数位动态规划#63 「一本通 5.3 例 1」Amount of Degrees #64 「一本通 5.3 例 2」数字游戏#65 「一本通 5.3 例 3」Windy 数#66 「一本通 5.3 练习 1」数字游戏#67 「一本通 5.3 练习 2」不要 62#68 「一本通 5.3 练习 3」恨 7 不成妻#69 「一本通 5.3 练习 4」数字计数第 4 章状态压缩类动态规划#70 「一本通 5.4 例 1」骑士#71 「一本通 5.4 例 2」牧场的安排#72 「一本通 5.4 练习 1」涂抹果酱#73 「一本通 5.4 练习 2」炮兵阵地#74 「一本通 5.4 练习 3」动物园第 5 章单调队列优化动态规划#76 「一本通 5.5 例 2」最大连续和#77 「一本通 5.5 例 3」修剪草坪#78 「一本通 5.5 例 4」旅行问题#79 「一本通 5.5 例 5」Banknotes#80 「一本通 5.5 练习 1」烽火传递#81 「一本通 5.5 练习 2」绿色通道#82 「一本通 5.5 练习 3」理想的正方形#83 「一本通 5.5 练习 4」股票交易第 6 章斜率优化动态规划#84 「一本通 5.6 例 1」任务安排 1#85 「一本通 5.6 例 2」任务安排 2#86 「一本通 5.6 例 3」任务安排 3#87 「一本通 5.6 例 4」Cats Transport #88 「一本通 5.6 练习 1」玩具装箱#89 「一本通 5.6 练习 2」仓库建设#90 「一本通 5.6 练习 3」特别行动队#91 「一本通 5.6 练习 4」打印文章#92 「一本通 5.6 练习 5」锯木厂选址第六部分数学基础第 1 章快速幂#93 「一本通 6.1 例 1」序列的第 k 个数#94 「一本通 6.1 练习 1」A 的 B 次方#95 「一本通 6.1 练习 2」转圈游戏#96 「一本通 6.1 练习 3」越狱第 2 章质数#97 「一本通 6.2 例 1」Prime Distance#98 「一本通 6.2 练习 1」质因数分解#99 「一本通 6.2 练习 2」轻拍牛头#10200 「一本通 6.2 练习 3」Goldbach's Conjecture #10201 「一本通 6.2 练习 4」Sherlock and His Girlfriend#10202 「一本通 6.2 练习 5」樱花第 3 章约数#10203 「一本通 6.3 例 1」反素数 Antiprime#10204 「一本通 6.3 例 2」Hankson 的趣味题#10205 「一本通 6.3 例 3」最大公约数#10206 「一本通 6.3 练习 1」X-factor Chain#10207 「一本通 6.3 练习 2」聪明的燕姿#10208 「一本通 6.3 练习 3」Super GCD第 4 章同余问题#10209 「一本通 6.4 例 1」青蛙的约会#10210 「一本通 6.4 例 2」同余方程#10211 「一本通 6.4 例 3」Sumdiv#10212 「一本通 6.4 例 4」曹冲养猪#10213 「一本通 6.4 例 5」Strange Way to Express Integers#10214 「一本通 6.4 例 6」计算器#10215 「一本通 6.4 练习 1」荒岛野人#10216 「一本通 6.4 练习 2」五指山#10217 「一本通 6.4 练习 3」Biorhythms#10218 「一本通 6.4 练习 4」C Looooops第 5 章矩阵乘法#10219 「一本通 6.5 例 1」矩阵A×B#10220 「一本通 6.5 例 2」Fibonacci 第 n 项#10221 「一本通 6.5 例 3」Fibonacci 前 n 项和#10222 「一本通 6.5 例 4」佳佳的 Fibonacci#10223 「一本通 6.5 练习 1」Fibonacci#10224 「一本通 6.5 练习 2」GT 考试#10225 「一本通 6.5 练习 3」迷路第 6 章组合数学#10226 「一本通 6.6 例 1」计算系数#10227 「一本通 6.6 例 2」2^k 进制数#10228 「一本通 6.6 例 3」组合#10229 「一本通 6.6 例 4」古代猪文#10230 「一本通 6.6 练习 1」牡牛和牝#10231 「一本通 6.6 练习 2」方程的解#10232 「一本通 6.6 练习 3」车的放置#10233 「一本通 6.6 练习 4」数三角形#10234 「一本通 6.6 练习 5」bination#10235 「一本通 6.6 练习 6」序列统计#10236 「一本通 6.6 练习 7」超能粒子炮· 改#10237 「一本通 6.6 练习 8」礼物#10238 「一本通 6.6 练习 9」网格#10239 「一本通 6.6 练习 10」有趣的数列#10240 「一本通 6.6 练习 11」树屋阶梯第 7 章博弈论#10241 「一本通 6.7 例 1」取石子游戏 1#10242 「一本通 6.7 例 2」取石子游戏 2#10243 「一本通 6.7 例 3」移棋子游戏#10244 「一本通 6.7 练习 1」取石子游戏#10245 「一本通 6.7 练习 2」巧克力棒#10246 「一本通 6.7 练习 3」取石子#10247 「一本通 6.7 练习 4」S-Nim#10248 「一本通 6.7 练习 5」取石子游戏。
哈佛智商测试题答案
哈佛智商测试题答案以下是哈佛智商测试题的答案:在回答哈佛智商测试题之前,我们先来了解一下什么是智商。
智商(Intelligence Quotient,简称IQ)是心理学中用于量化衡量人类智力水平的指标。
而哈佛智商测试题,则是被广泛认为是一种较为考验个体智商的测试题目。
题目一:一只橙子7元,7只橙子6一袋,一袋橙子几元?答案:根据题干,我们可以得出一只橙子的价格是7元,而一袋橙子中有7只,价格是6元。
那么我们可以根据这个信息,得出一袋橙子的价格是6元。
题目二:2个小时打完一打棒球,需要多少个人?答案:题目中并未给出每个人打棒球的用时。
如果我们假设每个人打棒球的时间相同,并且每个人打完之后可以立即转接下一个人,则只需2个人即可完成本题。
题目三:如果蜜蜂和蝴蝶一起飞行,它们的速度比一只蜜蜂慢9千米每小时,比一只蝴蝶快20千米每小时,那么蜜蜂的速度是多少千米每小时?答案:设蜜蜂的速度为x千米/小时。
根据题干,蜜蜂和蝴蝶一起飞行时,蜜蜂的速度比蜜蜂慢9千米/小时,即(x-9)千米/小时,又比蝴蝶快20千米/小时,即(x+20)千米/小时。
由此可得出方程:(x-9)=(x+20),化简得出x=29。
所以,蜜蜂的速度为29千米/小时。
题目四:请写下30 - 15 ÷ 3 × 2 = ?答案:这道题中,需要遵守四则运算的顺序:先乘除后加减。
所以,我们首先计算除法运算15 ÷ 3的结果为5,然后计算乘法运算5 × 2的结果为10,最后减法运算30 - 10的结果为20。
所以,答案是20。
题目五:一辆公交车上有7个人,每站上来3个人,每站下来2个人,请问第5站之后还有几个人?答案:我们可以通过分析每站的上下车人数变化来解答这个题目。
每站上来3个人,每站下来2个人,那么每站我们得到一个净增加1个人。
第5站之后的情况可以用以下方式计算:7 + (5 × 1) = 12。
NOIP2009题解
河南省分数线:185
第一题:潜伏者
• 解析: • 解决本题只需创建1个长度为26的 数组即可进行转换,于是想在本题 拿分就要在读懂题意的基础上判断 何时输出“Failed”。
• 转换具体代码: • Int a[26],b;ห้องสมุดไป่ตู้
• for (b=0;b<str2.length();b++) • if((a[str1[b]'A']!=1)&&(a[str1[b]'A']!= str2 [b]-'A')) break;
else a[str1[b]-'A']=str2[b]-'A';
(a用来记录密码,str1,str2分别 为读入的第一第二行)
• 输出“Failed”的注意事项: • 无26个不同加密字母时必须输出 • “每个字母只对应一个唯一的‘密 字’”
第二题:Hankson的趣味题 第二题:Hankson的趣味题
解析: 在我个人看来,本题要想得满分则不能 对a0或a1或b0或b1进行分解质因数(或许 我的分解质因数写的太麻烦)因为按一般 分解质因数的计算次数是4675*2000*12 (最少更改次数与判断次数【一次取模或 乘方运算相当于4次一般运算{‘+’,‘-’, ‘*’,‘/’}】)这样的话就超时了。
如果要用的话可以对b0或b1进行数域划分(类 属骗分,因为只有看了数据才敢这样弄)这样倒 是可以让分解质因数的次数为2000*12*1000 (1000为估计值)这样可以采取以下算法: 首先普及一个公式: 将a分解质因数为(上界为n,下界为i=1) Πpi^ci,b分解质因数为(上界为n,下界为i=1) Πpi^di,则a,b的最小公倍数为: [a,b]=(上界为n,下界为i=1)Πpi^max(ci,di) 同理:若max改为min则是求最大公约数。 所以先将a1/a0,b1/b0,b0分解质因数。
(完整)小学数学世界名题巧解(32)
小学数学世界名题巧解
﹙韩信走马分油的问题﹚
此题是我国古代数学问题。
题目如下:
两个人一起买了10斤油,只有三斤、七斤、十斤的油篓各一个,两人倒来倒去,怎么也分不均匀。
韩信骑在马上看见了,没有下马,很快就给分均匀了。
韩信是怎样分均匀的?﹙斤,是已废止使用的
重量单位。
﹚
解:因为3×3=9﹙斤﹚,9-7=2﹙斤﹚,所以从十斤的篓里
向三斤的篓里连续倒出三个3斤,倒入七斤的篓里,七斤的篓倒满了,三斤的篓里就剩下2斤油。
现在七斤的篓里有7斤油,十斤的篓里有1斤油,三斤的篓里
有2斤油。
解题的关键是设法腾出一只篓,好把三斤篓中的2斤油倒进去。
然后,好用三斤的篓取出3斤油。
由于七斤的篓已满,因此,只能把七斤篓中的油全部倒入十斤
的篓中,十斤的篓中有油:1+7=8﹙斤﹚;然后,把三斤篓中的2
斤油倒入七斤的篓中。
此时,三斤的篓是空的,七斤的篓中有油2斤。
因为十斤的篓中已经有油8斤,所以,用三斤的篓从十斤的篓中取出3斤油,十斤的篓中剩下油:8-3=5﹙斤﹚。
把三斤篓中的3斤油倒入已有2斤油的七斤的篓中,七斤的篓中便有5斤油了。
答:﹙略﹚。
趣味逻辑推理100题第11-20题及答案
趣味逻辑推理100题第11-20题及答案(总18页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--趣味逻辑推理100题第11-20题答案托尼、汤姆、汉克三个好朋友在酒吧喝酒。
桌面上有21瓶啤酒。
其中7瓶是满的,7瓶是只剩一半的酒,另7瓶则是空的。
托尼提了个做游戏的建议,即把酒瓶数和酒的量等分为3,每人都得到相同量的酒和瓶。
若不得把酒倒出,其中任何一人不能取4个以上相同状况的酒瓶,应如何分配解:已知:如上。
2推理:设满瓶的为A;半瓶的为B;空瓶的为C。
共21瓶,每人应分7个瓶;共10瓶半酒,每人应分3瓶半酒;而前提是不得把酒倒出,并不能取4 个以上相同状况的酒瓶。
分法如下:1、托尼分得3A+1B+3C即三个满瓶,一个半瓶,三个空瓶;2、汤姆分得2A+3B+2C即二个满瓶,三个半瓶,二个空瓶;3、汉克分得2A+3B+2C即二个满瓶,三个半瓶,二个空瓶;3首都机场的候机大厅里有三位乘客坐在椅子上聊天。
坐在左边座位的乘客要去法国,中间座位的乘客要去德国,右边座位的乘客要去英国。
要去法国的乘客说:“我们三人这次旅行的目的地恰好是我们三人的祖国,可我们每个人的目的地又不是自己的祖国。
”德国人无限感慨地说:“我离开家乡很多年,真想回去看一看。
”那么,这三位乘客都是哪个国家的人呢解:已知:1、左边座位的乘客要去法国;2、中间座位的乘客要去德国;3、右边座位的乘客要去英国;4、去法国的乘客说:“我们三人这次旅行的目的地恰好是我们三人的祖国,可我们每个人的目的地又不是自己的祖国。
”5、德国人无限感慨地说:“我离开家乡很多年,真想回去看一看。
”推理:一、从1;4推出,左边的不是法国人,从5推出,也不是德国人,左边的只能是英国人;4二、从2;4推了,中间的不是德国人,从一知道,也不是英国人,所以中间的只能是法国人;三、从一;二推出,右边的是德国人。
即:左边要去法国的是英国人;中间要去德国的是法国人;右边要去英国的是德国人。
历年NOIP(普及组提高组)试题难度列表
历年NOIP(普及组)难度分析 by Climber.pINOIP提高组复赛考察点详细分析动态规划:12 模拟:10数学:5 图论:4搜索:4 构造:3贪心:2【动态规划】平均难度系数:0.55此项为历届NOIP考察次数最多的知识点。
主要有 1.区间模型 2.子序列模型 3.资源分配模型以及一些简单的多维状态设计技巧。
动态规划可以与图,树,高精度等知识点配合出题。
【模拟】平均难度系数:0.76平均每届NOIP都会出现1个模拟题。
这种题一般算法很简单,需要选手细心理解题目意思,注意细节。
考察选手的代码实现能力。
【数学】平均难度系数:0.46需要掌握质数及其性质,基础的实属操作,加法原理和乘法原理。
此类题需要选手对数学规律的灵感。
【图论】平均难度系数:0.50历届考察点基本上都是 1.最短路问题和 2.特殊图的性质。
特殊图包括树,拓扑图,二分图等。
历届NOIP在图论上的考察并不是很多。
【搜索】平均难度系数:0.38历届搜索题一般都比较难,搜索算法本身简单,于是题目会提高选手对其他方面的要求。
主要有搜索优化和模拟。
写搜索题时应该以尽量多得分为目标。
【构造】平均难度系数:0.27构造类题目一般没有明确的算法,需要选手仔细分析题目的实质,并得出解法。
这个解法通常不是唯一的。
有时一个好的贪心可以得相当多的分。
有时搜索剪枝可以很大的提高效率。
同样以多得分为目标。
【【贪心】平均难度系数:0.75此类题需要选手对算法的直觉,贪心正确性一旦被证明,通常题目就简单了。
历年noip(普及组提高组)试题分析
历年NOIP(普及组)难度分析by Climber.pI年份题目名称考查内容难度1998 Three 枚举☆Factor 高精度运算★Power 数学(进制转换)★★1999 Cantor表模拟或数学★☆回文数字符串处理★★旅行家的预算动态规划或贪心★★☆2000 计算器的改良字符串处理★★税收与补贴问题数学或枚举★★乘积最大动态规划★★★单词接龙回溯★★★★2001 数的计算动态规划★最大公约数和最小公倍数数学(辗转相除法)★求先序排列树的遍历☆装箱问题0/1背包或枚举★2002 级数求和循环结构☆选数生成算法、素数判定★★★产生数简单图论★★★★过河卒递推或动态规划★☆2003 乒乓球字符串处理★☆数字游戏动态规划★★★★★栈数学(卡特兰数)★★麦森数分治、高精度运算★★★2004 不高兴的津津模拟☆花生采摘贪心★FBI树树的遍历★★火星人生成算法★★★2005 淘淘摘苹果模拟☆校门外的树模拟★采药0/1背包★循环高精度运算、数论、快速幂★★★★★2006 明明的随机数冒泡排序(去重)★开心的金明0/1背包★Jam计数法生成算法、字符串★★★数列数学(进制转换)★☆2007 奖学金冒泡排序(双关键字)★纪念品分组贪心、排序算法★☆守望者的逃离动态规划或枚举★★★Hanoi双塔问题数学、高精度★☆2008 ISBN号码字符串处理★排座椅贪心★★传球游戏动态规划★★★立体图字符输出★★★2009 多项式输出字符串处理★分数线划定快速排序(双关键字)★细胞分裂数论★★★★道路游戏动态规划★★★★★2010 数字统计枚举★接水问题模拟★导弹拦截排序+枚举★★★★三国游戏贪心★★★2011 (160)数字反转模拟、字符串★统计单词数模拟、字符串函数★瑞士轮模拟、快排、滚动数组★★★表达式的值栈、表达式计算、递推★★★★★2012 (150)质因数分解枚举★寻宝模拟,模运算★★摆花动态规划★★★★文化之旅搜索、最短路、动规★★★★☆/view/e1cdc430376baf1ffc4fad0c.htmlNOIP提高组复赛考察点详细分析题目编号题目名主考察点知识点系数NOIP-2000-A 进制转换数学初等代数,找规律0.6 NOIP-2000-B 乘积最大动态规划资源分配DP 0.7 NOIP-2000-C 单词接龙搜索DFS,字符串,模拟0.5 NOIP-2000-D 方格取数动态规划多维状态0.6 NOIP-2001-A 一元三次方程求解数学数学,枚举,实数处理0.5 NOIP-2001-B 数的划分动态规划资源分配DP,多维状态DP 0.7 NOIP-2001-C 统计单词个数动态规划资源分配DP,字符串0.3 NOIP-2001-D Car的旅行路线图论最短路,实数处理0.7 NOIP-2002-A 均分纸牌贪心贪心,模拟0.8 NOIP-2002-B 字串变换搜索BFS,字符串0.5 NOIP-2002-C 自由落体数学数学,物理,模拟,实数处理0.6 NOIP-2002-D 矩形覆盖构造动态规划/贪心/搜索剪枝0.2 NOIP-2003-A 神经网络图论拓扑排序,递推0.4 NOIP-2003-B 侦探推理模拟枚举,模拟,字符串0.5 NOIP-2003-C 加分二叉树动态规划树,区间DP 0.4 NOIP-2003-D 传染病控制构造随机贪心/搜索剪枝0.2 NOIP-2004-A 津津的储蓄计划模拟模拟0.9 NOIP-2004-B 合并果子贪心最优哈夫曼树,排序0.7 NOIP-2004-C 合唱队形动态规划子序列DP 0.7 NOIP-2004-D 虫食算搜索搜索剪枝,模拟0.2 NOIP-2005-A 谁拿了最多奖学金模拟模拟,字符串0.8 NOIP-2005-B 过河动态规划子序列DP,贪心优化0.2 NOIP-2005-C 篝火晚会数学置换群,贪心0.2 NOIP-2005-D 等价表达式模拟字符串,抽样检测,表达式0.3 NOIP-2006-A 能量项链动态规划区间环DP 0.6NOIP-2006-B 金明的预算方案动态规划资源分配DP,构造0.6 NOIP-2006-C 作业调度方案模拟模拟0.7 NOIP-2006-D 2^k进制数动态规划动态规划/组合数学,高精度0.5 NOIP-2007-A 统计数字模拟排序 1.0 NOIP-2007-B 字符串的展开模拟字符串,模拟0.7 NOIP-2007-C 矩阵取数游戏动态规划区间DP,高精度0.6 NOIP-2007-D 树网的核图论最短路,树的直径0.4 NOIP-2008-A 笨小猴模拟质数判断,字符串 1.0 NOIP-2008-B 火柴棒等式模拟枚举,优化/开表0.8 NOIP-2008-C 传纸条动态规划多维状态DP 0.7 NOIP-2008-D 双栈排序构造枚举,贪心/二分图0.4 NOIP-2009-A 潜伏者模拟字符串,模拟0.9 NOIP-2009-B Hankson的趣味题数学初等数论,质因数,组合数学0.4 NOIP-2009-C 最优贸易图论最短路0.5 NOIP-2009-D 靶形数独搜索搜索优化0.3 NOIP-2010-A 机器翻译模拟NOIP-2010-B 乌龟棋动态规划动态规划优化NOIP-2010-C 关押罪犯二分答案二分答案或并查集NOIP-2010-D 引水入域广搜+动规判断有解和无解NOIP-2011-D1A 铺地毯枚举,模拟循环队列NOIP-2011-D1B 选择客栈枚举二分查找、NOIP-2011-D1C Mayan游戏深搜剪支NOIP-2011-D2A 计算系数组合二项式系数NOIP-2011-D2B 聪明的质监员二分答案部分和优化NOIP-2011-D2C 观光公交贪心递推分析NOIP-2012-D1A Vigenere密码枚举模拟左偏移位NOIP-2012-D1B 国王游戏贪心排序后列出NOIP-2012-D1C 开车旅行平衡树或链离线深搜,动态规划、倍增NOIP-2012-D2A 同余方程不定方程递归,扩展欧几里得NOIP-2012-D2B 借教室线段树枚举、线段树、二分NOIP-2012-D2C 疫情控制二分答案二分答案,贪心,倍增动态规划:12 模拟:10数学:5 图论:4搜索:4 构造:3贪心:2【动态规划】平均难度系数:0.55此项为历届NOIP考察次数最多的知识点。
Hankson的趣味题
;
int s=0; if(y1==1)
break; if(y1%a[i]==0) {
while(y1%a[i]==0) {
s++; y1=y1/a[i]; } int u1=0,u2=0,u3=0; while(x0%a[i]==0) { x0=x0/a[i]; u1++; } while(x1%a[i]==0) { x1=x1/a[i]; u2++; } while(y0%a[i]==0) { y0=y0/a[i]; u3++; } if(u1==u2&&u3<s&&s<u1) { ans=0; y1=1; break; } else if(u1==u2&&u3==s) { if(s<u1) {
int k=0; for(int i=2; i<=100000; i++) {
if(b[i]==0) {
a[++k]=i; for(int j=i; j<=100000/i; j++)
b[j*i]=1; } } int t,n,x0,x1,y0,y1; scanf("%d",&t); while(t--) { scanf("%d %d %d %d",&x0,&x1,&y0,&y1); int ans=1; for(int i=1; i<=k; i++) {
#include<iostream> #include<algorithm> #include<string> #include<cstring> #include<cstdio> #include<cmath> using namespace std; int a[100005],b[100005]; int main() {
1626:【例2】Hankson的趣味题
1626:【例2】Hankson的趣味题1626:【例 2】Hankson 的趣味题题解【题⽬描述】Hanks 博⼠是 BT(Bio-Tech,⽣物技术)领域的知名专家,他的⼉⼦名叫 Hankson。
现在,刚刚放学回家的 Hankson 正在思考⼀个有趣的问题。
今天在课堂上,⽼师讲解了如何求两个正整数和的最⼤公约数和最⼩公倍数。
现在 Hankson 认为⾃⼰已经熟练地掌握了这些知识,他开始思考「求公约数」和「求公倍数」这类问题的⼀个逆问题,这个问题是这样的:已知正整数,设某未知正整数满⾜:和的最⼤公约数是;b b和的最⼩公倍数是。
Hankson 的「逆问题」就是求出满⾜条件的正整数。
但稍加思索之后,他发现这样的并不唯⼀,甚⾄可能不存在。
因此他转⽽开始考虑如何求解满⾜条件的的个数。
请你帮助他编程求解这个问题。
【输⼊】第⼀⾏为⼀个正整数,表⽰有组输⼊数据。
接下来的⾏每⾏⼀组输⼊数据,为四个正整数,每两个整数之间⽤⼀个空格隔开。
输⼊数据保证b b能被整除,能被整除。
【输出】共⾏。
每组输⼊数据的输出结果占⼀⾏,为⼀个整数。
对于每组数据:若不存在这样的,请输出;若存在这样的,请输出满⾜条件的的个数。
【输⼊样例】241 1 96 28895 1 37 1776【输出样例】62【提⽰】样例说明第⼀组输⼊数据,可以是,共有个;第⼆组输⼊数据,可以是,共有个。
数据范围与提⽰:对于 50% 的数据,保证有, 且。
1≤对于 100% 的数据,保证有,且。
是的这个hanks博⼠是个BT这道题直接枚举即可AC#include<bits/stdc++.h>using namespace std;int n,a0,a1,b0,b1,x,ans;int read(){int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-') f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}return x*f;}int gcd(int a,int b){if(b==0) return a;else return gcd(b,a%b);}int main(){n=read();while(n--){a0=read();a1=read();b0=read();b1=read();ans=0;for(int i=1;i*i<b0;i++){if(b0%i==0){x=b1/b0*i;if(gcd(a0,x)==a1&&gcd(x,b0)==i) ans++; x=b1/b0*(b0/i);if(gcd(a0,x)==a1&&gcd(x,b0)==b0/i) ans++; }} int k=int(sqrt(b0));if(k*k==b0&&b0%k==0){x=b1/b0*k;if(gcd(a0,x)==a1&&gcd(x,b0)==k) ans++; }printf("%d\n",ans);}return0;}。
Hankson的趣味题
Hankson的趣味题这是⼀道关于求最⼩公倍数、最⼤公约数逆运算的⼀道题。
做这道题⾸先要会求,对吧……题⽬要求解个数,我们来看⼀看条件:50分做法:我们从条件中很容易看出x的范围——⼤于等于a1并且⼩于等于b1,所以我们暴⼒枚举a1到b1,然后对于每个可能的答案按照条件进⾏判断代码:#include<bits/stdc++.h>#define R register intusing namespace std;typedef long long ll;ll n,a0,a1,b0,b1,ans;inline ll gcd(ll x,ll y){ll z;while(y){z=x%y;x=y;y=z;}return x;}int main(){ios::sync_with_stdio(0);cin>>n;for(R t=1;t<=n;++t){cin>>a0>>a1>>b0>>b1;ans=0;for(R i=a1;i<=b1;++i) if(gcd(i,a0)==a1 && i*b0/gcd(i,b0)==b1) ++ans;printf("%lld\n",ans);}return0;}AC做法:在讲AC做法之前,我先说两个需要知道的关于最⼤公约数和最⼩公倍数的结论。
最⼤公约数:如果gcd(x,y)=z,那么gcd(x/z,y/z)=1。
这个⼤家应该都知道,就不细讲了。
最⼩公倍数:①如果lcm(x,y)=z,那么gcd(z/y,z/x)=1。
这个我们来证明⼀下:我们设lcm(x,y)=z,那么lcm(x,y)=x*y/gcd(x,y)=z,所以gcd(x,y)=x*y/z。
由最⼤公约数结论可得,gcd(z/y,z/x)=1。
②如果y是x的公倍数,则x是y的因数,也就是y % x == 0。
初中趣味数学40题与解析
3 =1.5 千米,因此还差 2.5 千 4
分 析 :阴 影部 分 的周 长 = 矩 形 ABCD 的周 长 =36. 要 注 意 ,要整 体 核算 ,不 能 把 两个 阴 影部 分 分开 计算. 5. 【下楼梯】小丁和小明、小红三个小朋友并排在有灰尘的楼梯上同时从顶上向下走。小明一步下 2 阶, 小红一步下 3 阶,小丁一步下 4 阶,如楼顶和楼底均有所有三个人的脚印,那么仅有一个人脚印的楼梯最 少有几级? 分析:2,3,4 的最小公倍数是 12.因此至少有 13 级台阶:1,2,3,4,5,6,7,8,9,10,11,12,13.其 中,小明踩过的台阶有:1,3,5,7,9,11,13.小红踩过的台阶有:1,4,7,10,13.小丁踩过的台阶 有:1,5,9,13.所以仅有 1 人脚印的有:3,4,10,11.即最少有 4 级。 6. 【十点五线】是否有可能,将 10 个点安排到同一平面的 5 条直线上,令每条直线上恰有 4 个点?
分析:设原来想定的三位数为 abc =100a+10b+c(a>c), 它的逆序数为 cba =100c+10b+a. 原三位数减去它的逆序数的差为 abc-cba =(100a+10b+c)-(100c+10b+a)=100(a-c)+(c-a). 注意到 a>c,所以 a-c>0. 于是 100(a-c)+(c-a)=100(a-c-1)+100+(c-a)=100(a-c-1)+10× 9+[10-(a-c)] 差的逆序数为 100[10-(a-c)]+10× 9+(a-c-1). 将差与差的逆序数相加,所得“幸福数”为 100(a-c-1)+10× 9+[10-(a-c)]+100[10-(a-c)]+10× 9+(a-c-1) =100[(a-c-1)+10-(a-c)]+180+9=100× 9+180+9=1089.也就是说,所有的结果都一样。 11.【如何分配?】 张三看到李四和王五买了苹果回来,就说,为什么买苹果不叫我啊?我也要几个。
NOIP大纲整理:历年2000-2016NOIP提高组题目分析
2005-A
谁拿了最多奖学金
2005-B
过河
2005-C
篝火晚会
2005-D
等价表达式
2006-A
能量项链
2006-B
金明的预算方案
2006-C
作业调度方案
拓扑排序(图论),递推 枚举,模拟,字符串 树,区间 DP 随机贪心/搜索剪枝 模拟 最优哈夫曼树,排序,贪心 子序列 DP 搜索剪枝,模拟 模拟,字符串 子序列 DP,贪心优化 置换群,贪心 字符串,抽样检测,表达式 区间环 DP 资源分配 DP,构造 模拟
NOIP 大纲整理:历年 2000-2016NOIP 提高组题目分析
年份
题目名称
考查内容
2000-2016 年 NOIP 提高组复赛题目
2000-A
进制转换
初等代数,找规律
2000-B
乘积最大
资源分配 DP
2000-C
单词接龙
DFS,字符串,模拟
2000-D
方格取数
多维状态 DP
2001-A
一元三次方程求解
2011-D2C 观光公交
2012-D1A Vigenere 密码
2012-D1B 国王游戏
2012-D1C 开车旅行
2012-D2A 同余方程
2012-D2B 借教室
2012-D2C 疫情控制
2013-D1A 转圈游戏
二分答案或并查集 广搜+动态规划,判断有解和无解 循环队列 二分查找 深搜、剪支 组合、二项式系数 部分和优化 递推分析、贪心 左偏移位 贪心、排序后列出 离线深搜,动态规划、倍增 数论、递归,扩展欧几里得 枚举、线段树、树状数组、二分 二分答案,贪心,倍增 快速幂
疯狂星期二试题答案详解
疯狂星期二试题答案详解一、选择题1. 问题:下列哪个选项不是可再生能源?答案:C. 核能解析:可再生能源指的是可以自然恢复和持续利用的能源,如太阳能、风能、水能等。
核能虽然使用时间较长,但其产生的核废料处理和环境影响问题使其不被归类为可再生能源。
2. 问题:在数学中,哪个术语描述的是图形的对称性?答案:B. 对称轴解析:对称轴是数学中描述图形对称性的一个重要概念。
如果一个图形沿着一条直线对折后两部分完全重合,那么这个图形就是对称的,这条直线就是对称轴。
3. 问题:以下哪种动物是世界上最大的陆地哺乳动物?答案:A. 非洲象解析:非洲象是目前已知的世界上最大的陆地哺乳动物,它们的体重可以超过6吨,肩高可达4米左右。
二、填空题1. 问题:请填写下列成语的缺失部分:“__ __ 为奸”。
答案:狐假虎威解析:这是一个常用的汉语成语,意思是狐狸借助老虎的威势来吓唬其他动物,比喻依仗别人的权势来欺压人。
2. 问题:在化学元素周期表中,元素“Au”代表的是__ __。
答案:金解析:在化学元素周期表中,“Au”是金元素的化学符号,金是一种稀有金属,具有良好的导电性和抗腐蚀性,常用于金融货币和珠宝制品。
三、简答题1. 问题:请简述光合作用的基本过程。
答案:光合作用是植物通过叶绿素吸收太阳光能,将二氧化碳和水转化为葡萄糖和氧气的过程。
这个过程主要发生在植物的叶绿体中,分为光反应和暗反应两个阶段。
在光反应中,光能被转化为化学能,产生ATP和NADPH;在暗反应中,ATP和NADPH被用来将二氧化碳转化为葡萄糖。
2. 问题:简述第二次世界大战的起止时间和主要参战国家。
答案:第二次世界大战从1939年9月1日开始,一直持续到1945年9月2日。
主要参战国家包括同盟国方面的苏联、美国、英国、中国和法国等,以及轴心国方面的德国、意大利和日本等。
这场战争涉及全球多个国家和地区,是人类历史上规模最大的战争之一。
四、论述题1. 问题:论述互联网对现代社会的影响。
全民最烧脑的数学天才题小熊博士帽汽车
全民最烧脑的数学天才题小熊博士帽汽车第1关:哪那个乖乖最辛苦?
答案:熊猫
第2关:大力士永远举不起什么?
答案:大力士自己
第3关:把小鸡抓进笼子
答案:直接拖动笼子罩住小鸡
第4关:请找到三角形
答案:拖动四边形到屏幕左边或右边只露出一个三角形
第5关:找出最大的鱼
答案:用大鱼吃小鱼的方法,剩下的最后一条鱼就是最大的鱼第6关:赶走凶恶的狼
答案:把肉拖走,狼就会跟着走
第7关:石头挡住蜗牛的路了
答案:把石头和蜗牛所在的木棍向右下方倾斜,直到石头和蜗牛滑下去
第8关:那一个可以吃呢?
答案,把除去盆子、钟、桶三样东西外的两样东西合起来
第9关:桌上有几本书呢?
答案:0本,因为没有桌子
第10关:让电梯下降
答案:直接拖动电梯往屏幕下方滑
第11关:请帮忙削铅笔
答案:移掉铅笔上面部分
第12关:那个乒乓球跳的高
答案:把乒乓球拍移开,黄色的
第13关:踩老鼠
答案:看准时机点击腿踩老鼠
第14关:擦干净鞋
答案:用手指在鞋子上滑动
第15关:那只鸭子不一样
答案:把第4只鸭子的嘴巴移开,点击第4只鸭子
第16关:找出羊群中的狼
答案:把肉移到羊嘴边,你会发现第一排第二只羊把肉吃了变成了狼
第17关:比乌鸦更讨厌的是什么?
答案:乌鸦嘴,点击乌鸦的嘴
第18关:“新华字典”有多少个字?
答案:4个
第19关:使等式成立
答案:拖动公式向屏幕右边移动,直到看不到7变成+1=1即可第20关:冬天过了,叫醒冬眠的松鼠
答案:连续吧松鼠上滑松开。
橄榄球队雄狮队山羊队逻辑题
橄榄球队雄狮队山羊队逻辑题
摘要:
1.橄榄球队的基本情况
2.雄狮队和山羊队的比赛
3.逻辑题的提出
4.逻辑题的解答
5.结论
正文:
在橄榄球比赛中,雄狮队和山羊队是一对劲敌。
他们之间的比赛总是异常激烈,因为两队都有非常出色的球员和战术。
某天,雄狮队和山羊队进行了一场激烈的比赛。
比赛进行到最后时,两队的比分仍然是0:0。
这时,裁判提出了一道逻辑题,决定比赛的胜负。
这道题是这样的:“有三个房间,分别放着金条、银条和金银混合。
每个房间都有一扇门,门上都有一个警卫。
其中一个警卫总是说真话,另一个警卫总是说谎,最后一个警卫有时说真话有时说谎。
你只能打开其中一个房间的门,如何才能判断出每个房间放的是什么?”
雄狮队的队长仔细思考后,提出了一个解决方案。
他们先打开金条房间的门,如果警卫说这是银条房间,那么这个房间就是金银混合房间;如果警卫说这是金条房间,那么这个房间就是金条房间。
然后,他们再打开另一个房间的门,就可以确定剩下的房间是银条房间。
听到雄狮队的解决方案后,山羊队的队长认为这个方案非常巧妙,但是他
们还有更好的解决方案。
他们先打开银条房间的门,如果警卫说这是金条房间,那么这个房间就是金银混合房间;如果警卫说这是银条房间,那么这个房间就是银条房间。
然后,他们再打开另一个房间的门,就可以确定剩下的房间是金条房间。
通过这道逻辑题,雄狮队和山羊队都展现出了自己的智慧和团队合作精神。
最终,雄狮队以微弱的优势赢得了比赛。
但是,山羊队的表现也非常出色,他们赢得了观众的掌声和尊重。
德森智商测试题及答案
德森智商测试题及答案一、选择题1. 以下哪个选项是正确的?A. 2+2=5B. 3+3=6C. 4+4=8D. 5+5=10答案:D2. 如果今天是星期五,那么明天是周几?A. 星期六B. 星期日C. 星期一D. 星期二答案:A3. 以下哪个数字是质数?A. 4B. 6C. 7D. 8答案:C二、填空题4. 一个圆的周长是2πr,其中r代表的是________。
答案:半径5. 请写出一个直角三角形的两个直角边的长度,使得它们的平方和等于斜边的平方。
答案:3, 4, 5(答案不唯一)三、简答题6. 什么是光的折射现象?答案:光的折射现象是指光线在不同介质之间传播时,由于速度的变化导致光线方向的改变。
7. 请解释什么是牛顿第三定律。
答案:牛顿第三定律,也称为作用与反作用定律,指的是对于两个相互作用的物体,它们之间的作用力与反作用力大小相等、方向相反。
四、计算题8. 如果一个数的平方等于81,这个数是多少?答案:±99. 一个长方形的长是20厘米,宽是10厘米,求它的面积。
答案:200平方厘米五、逻辑推理题10. 在一个没有镜子的房间里,有四个人,A、B、C和D。
A说:“我不是B。
” B说:“我不是C。
” C说:“我不是D。
” D说:“我不是A。
” 如果每个人都在说实话,那么谁是谁?答案:A是D,B是C,C是A,D是B。
六、图形推理题11. 观察下列图形序列,找出下一个图形。
图形序列:○ → △ → □ → ○ → △ → ?答案:□七、应用题12. 一个农场有鸡和兔子共35只,它们的腿总共有94条。
问农场里有多少只鸡和多少只兔子?答案:设鸡的数量为x,兔子的数量为y。
根据题意,我们有以下两个方程:x + y = 352x + 4y = 94解这个方程组,我们可以得到x=23(鸡的数量),y=12(兔子的数量)。
请注意,以上题目及答案仅供参考,实际的德森智商测试题及答案可能会有所不同。
哈佛面试题
哈佛面试题及答案----没事多看看提高智商一.最基本题型(说明:此类题型比较简单)1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。
现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。
抓取多少个就可以确定你肯定有两个同一颜色的果冻?3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才干准确称出4公升的水?4.一个岔道口分别通向诚实国和说谎国。
来了两个人,已知一个是诚实国的,另一个是说谎国的。
诚实国永远说实话,说谎国永远说谎话。
现在你要去说谎国,但不知道应该走哪条路,需要问这两个人。
请问应该怎么问?5.12个球一个天平,现知道惟独一个和其它的分量不同,问怎样称才干用三次就找到那个球。
13个呢?(注意此题并未说明那个球的分量是轻是重,所以需要子细考虑)6.在9个点上画10条直线,要求每条直线上至少有三个点?7.在一天的24小时之中,时钟的时针、分针和秒针彻底重合在一起的时候有几次?都分别是什么时间?你怎样算出来的?二.没有答案型(说明:这些题显然不是考你智力。
而考的是你的反应能力。
这种题大多数没有答案,但是要看你的反应喽!)1.为什么下水道的盖子是圆的?2.中国有多少辆汽车?3.将汽车钥匙插入车门,向哪个方向旋转就可以打开车锁?4.如果你要去掉中国的34个省(含自治区、直辖市和港澳特区及台湾省)中的任何一个,你会去掉哪一个,为什么?5.多少个加油站才干满足中国的所有汽车?6.想象你站在镜子前,请问,为什么镜子中的影象可以颠倒摆布,却不能颠倒上下?7.为什么在任何旅馆里,你打开热水,热水都会瞬间倾泻而出?8.你怎样将Excel的用法解释给你的奶奶听?9.你怎样重新改进和设计一个ATM银行自动取款机?10.如果你不得不重新学习一种新的计算机语言,你打算怎样着手来开始?11.如果你的生涯规划中打算在5年内受到奖励,那获取该项奖励的动机是什么?观众是谁?12.如果微软告诉你,我们打算投资五百万美元来启动你的投资计划,你将开始什么样商业计划?为什么?13.如果你能够将全世界的电脑厂商集合在一个办公室里,然后告诉他们将被强迫做一件事,那件事将是什么?三.难题(说明:这种题有一定难度,如果得不到答案,也不能说明什么。
烧脑的逻辑推理题逗爸爸笑
烧脑的逻辑推理题逗爸爸笑第1道逻辑推理的智力题,是“汉尼的金币”。
省吃俭用了一辈子的汉尼,好不容易攒了54个金币,然后全部放在坛子里埋到后院留着养老。
然而老实巴交的汉尼并没有发现,他的一举一动都被住在隔壁的老王,哦不,是斯特罗看到了。
结果当天夜里,斯特罗跑到汉尼院子里把整整一坛金币挖出来抱回了家;这个小伙子坏得很。
这里小编不太明白,既然赚了钱,汉尼为什么不把金币换成纸币,然后存到银行卡里呢。
不过勤快人汉尼虽然老实,脑袋瓜却很聪明,他装作没事的样子跑到斯特罗家里说了几句话,到晚上的时候,斯特罗就自己把装着54个金币的坛子送回汉尼的后院了,你知道这是怎么回事吗?难道是住在汉尼隔壁的小伙子斯特罗,良心上过意不去了吗?第2道逻辑推理题虽然字数不多,难度可不小。
这说的应该是“键盘侠”的故事:有一天,一位评论家因为总是喜欢瞎评论,和作者“抬杠”,却从来不转发点赞和分享,结果有一天被评论家请来家里擦玻璃的家政公司阿姨发现他已经中枪倒下,时间为前一天的晚上十点。
但是聪明的亨利探长,只凭借一盘球赛录音带就确定这位“键盘侠”出事的现场被精心伪装过,请问探长是根据什么来判断的?第3道逻辑推理题,是“用户口本破案的故事”。
从前有个地方的小餐馆里发生了意外状况,但是当警探到现场时,却发现作为疑犯的小伙子不但不害怕,还一边嗑着瓜子、嚼着口香糖,啃着猪蹄子在饭店里继续吃他那一碗不干不净的杂碎面;他说他根本没离开过这个小面馆。
虽然目击者始终认为,从相貌和衣着上看这个小伙子就是本案的疑犯,但是聪明的警探只看了一眼他的户口本就确定不是他干的,还抓住了真正的嫌犯。
请问警探的脑洞有多大,他是怎么找到疑犯的?我真的想不通:警探到底在嫌犯的户口本上看出了什么案情呢?。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.Hankson的趣味题(son.pas/c/cpp)【问题描述】Hanks 博士是BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫Hankson。
现在,刚刚放学回家的Hankson 正在思考一个有趣的问题。
今天在课堂上,老师讲解了如何求两个正整数c1和c2 的最大公约数和最小公倍数。
现在Hankson 认为自己已经熟练地掌握了这些知识,他开始思考一个“求公约数”和“求公倍数”之类问题的“逆问题”,这个问题是这样的:已知正整数a0,a1,b0,b1,设某未知正整数x 满足:1.x 和a0 的最大公约数是a1;2.x 和b0 的最小公倍数是b1。
Hankson 的“逆问题”就是求出满足条件的正整数x。
但稍加思索之后,他发现这样的x 并不唯一,甚至可能不存在。
因此他转而开始考虑如何求解满足条件的x 的个数。
请你帮助他编程求解这个问题。
【输入】输入文件名为son.in。
第一行为一个正整数n,表示有n 组输入数据。
接下来的n 行每行一组输入数据,为四个正整数a0,a1,b0,b1,每两个整数之间用一个空格隔开。
输入数据保证a0能被a1 整除,b1 能被b0整除。
【输出】输出文件son.out 共n 行。
每组输入数据的输出结果占一行,为一个整数。
对于每组数据:若不存在这样的x,请输出0;若存在这样的x,请输出满足条件的x 的个数;思路1:根据最大公约数的定义,X必定为最大公约数的倍数,那么我们可以去枚举a1的倍数,然后去验证最大公约数和最小公倍数是否符合条件。
期待分数:50。
程序1:vara0,a1,b0,b1,i,j,n,k,x,tot:longint;function gcd(a,b:longint):longint;beginif b=0 then exit(a) else exit(gcd(b,a mod b));end;beginreadln(n);for k:=1 to n dobegintot:=0;readln(a0,a1,b0,b1);for i:=1 to (b1 div a1) dobeginx:=i*a1;if b1 mod x=0 thenif gcd(a0,x)=a1 thenif (b0*x) div (gcd(b0,x))=b1 then begin inc(tot); end;end;writeln(tot);end;end.思路2:根据最小公倍数和最大公约数分解质因数指数的特殊关系进行优化。
比如两个数,分解质因数可以得到以下的式子A=p1^a1+p2^a2+p3^a3……B=p1^b1+p2^b2+p3^a3……例如6和21就可以分解成6=2^1+3^1+5^0+7^0……21=2^0+3^1+5^0+7^1……则最大公约数=2^(min(a1,b1))+3^(min(a2,b2))+5^(min(a3,b3))+7^(min(a4,b4))…最小公倍数=2^(max(a1,b1))+3^(max(a2,b2))+5^(max(a3,b3))+7^(max(a4,b4))…那么我们可以先将b1分解质因数,在根据最大公约数和最小公倍数在指数上的关系,进行搜索。
期待分数:100程序2:varp,x,c:array[0..1000] of longint;a0,a1,b0,b1,i,j,k,m,tot,t,n:longint;function gcd(a,b:longint):longint;beginif b=0 then exit(a) else exit(gcd(b,a mod b));end;procedure dfs(i,sum:longint);varmax,j:longint;beginif i>m thenbegininc(tot);p[tot]:=sum;exit;end;max:=sum;dfs(i+1,max);for j:=1 to c[i] dobeginmax:=max*x[i];dfs(i+1,max);end;end;procedure work(b:longint); var i,p:longint;begini:=2;p:=b;while i<=sqrt(p) dobeginif p mod i=0 thenbegininc(m);x[m]:=i;c[m]:=0;repeatinc(c[m]);p:=p div i;until p mod i<>0;end;inc(i);end;if p<>1 thenbegininc(m);x[m]:=p;c[m]:=1;end;dfs(1,1);end;readln(n);for i:=1 to n dobeginreadln(a0,a1,b0,b1);fillchar(p,sizeof(p),0);fillchar(x,sizeof(x),0);fillchar(c,sizeof(c),0);m:=0;tot:=0;t:=0;work(b1);for j:=1 to tot doif (gcd(p[j],a0)=a1) and ((p[j] div gcd(p[j],b0) * b0)=b1) then inc(t);writeln(t);end;end.思路三:和思路二有异曲同工之妙。
我们可以先预处理trunc(sqrt(2000000000))以内的质数,然后每读入一组数据,初始答案ans=1,然后我们循环质数,看a0、a1、b0、b1里面有多少个该质数因子,并且将这四个数分别消去所有该质数因子。
我们设求出来的该因子个数分别是t1、t2、t3、t4。
如果数据合法,那么t1>=t2,t3<=t4。
根据最大公约数和最小公倍数的定义,我们要求的数所拥有的该质因子个数s必须要同时满足以下限制条件:若t1>t2,则s=t2若t1=t2,则s>=t2若t3<t4,则s=t4若t3=t4,则s<=t4这样,我们或者求出了s的范围,要么证明了不存在合法数字。
如果s存在合法取值,我们就将ans乘上s的合法取值个数,否则直接输出0。
注意:如果循环结束后,a0>1或b1>1,那么此时a0或b1一定是超过我们枚举的数字范围的质数。
这时我们特殊判断一下就行了。
我们的时间复杂度是循环质数复杂度+分解因数复杂度。
分解因数最坏是该数为2的若干次方,所以复杂度的上限是log(2000000000),很小。
最慢的点在0.3秒以内出解。
程序3program son;var i,j,k,l,m,n,p,q,l2,r2,r,s,t,a0,a1,b0,b1,ans:longint;prime:array[0..60000] of longint;need:array[0..60000] of longint;pd:boolean;function pri(x:longint):boolean;var g:longint;for g:=2 to trunc(sqrt(x)) doif x mod g=0 then exit(false);exit(true);end;beginp:=1;prime[1]:=2;for i:=3 to 50000 do if pri(i) then begininc(p);prime[p]:=i;end;read(n);for t:=1 to n dobeginread(a0,a1,b0,b1);ans:=1;fillchar(need,sizeof(need),255);q:=p;pd:=true;for i:=1 to p dobeginl:=0;r:=0;l2:=0;r2:=0;while a0 mod prime[i]=0 dobegininc(l);a0:=a0 div prime[i];end;while a1 mod prime[i]=0 dobegininc(r);a1:=a1 div prime[i];end;while b0 mod prime[i]=0 dobegininc(l2);b0:=b0 div prime[i];end;while b1 mod prime[i]=0 dobegininc(r2);b1:=b1 div prime[i];end;if l>r then need[i]:=r;if l2<r2 thenbeginif (need[i]>-1)and(need[i]<>r2) then beginpd:=false;break;end;need[i]:=r2;end;if need[i]=-1 thenif r2<r thenbeginpd:=false;break;end else ans:=ans*(r2-r+1);end;if i=p thenif a0>1 thenbegininc(i);prime[i]:=a0;l:=0;r:=0;l2:=0;r2:=0;while a0 mod prime[i]=0 dobegininc(l);a0:=a0 div prime[i];end;while a1 mod prime[i]=0 dobegininc(r);a1:=a1 div prime[i];end;while b0 mod prime[i]=0 dobegininc(l2);b0:=b0 div prime[i];end;while b1 mod prime[i]=0 dobegininc(r2);b1:=b1 div prime[i];end;if l>r then need[i]:=r;if l2<r2 thenbeginif (need[i]>-1)and(need[i]<>r2) thenbeginpd:=false;end;need[i]:=r2;end;if need[i]=-1 thenif r2<r thenbeginpd:=false;end else ans:=ans*(r2-r+1);dec(i);end;if i=p thenif b1>1 thenbegininc(i);prime[i]:=b1;l:=0;r:=0;l2:=0;r2:=0;while a0 mod prime[i]=0 dobegininc(l);a0:=a0 div prime[i];end;while a1 mod prime[i]=0 dobegininc(r);a1:=a1 div prime[i];end;while b0 mod prime[i]=0 dobegininc(l2);b0:=b0 div prime[i];end;while b1 mod prime[i]=0 dobegininc(r2);b1:=b1 div prime[i];end;if l>r then need[i]:=r;if l2<r2 thenbeginif (need[i]>-1)and(need[i]<>r2) thenbeginpd:=false;end;need[i]:=r2;end;if need[i]=-1 thenif r2<r thenbeginpd:=false;end else ans:=ans*(r2-r+1);dec(i);end;if not pd then writeln(0) else writeln(ans);end;end.。