xia

讨论(xia che ≖‿≖✧)magic number——1000000007

佐手、 提交于 2020-01-24 22:33:07
            为什么要对1000000007取模(取余)   来看这篇博客的基本上都是和我一样脑子有坑的人,要么就是看了我某篇大数阶乘,大数的排列组合等类似博客被忽悠过来的。我刚刚说到那些类型的题目一般都要求将输出结果对1000000007取模(取余) 为什么总是1000000007呢 = _= ?   我估计啊因该是这几个原因: 1000000007是一个质数(素数),对质数取余能最大程度避免冲突(《离散数学》数论部分) int32位的最大值为2 31 -1=2147483647,所以对于int32位来说1000000007足够大,不要问我为什么是31次方。 int64位的最大值为2^63-1 = 18446744073709551616,对于1000000007来说 1000000007 2 = 1000000014000000049 不会在int64中溢出 算法题是要检查答案的,可以在最大可能的情况下避免测试点答案冲突。 所以在大数相乘的时候,因为(a∗b)%c=((a%c)∗(b%c))%c,所以相乘时两边都对1000000007取模,再保存在int64里面不会溢出,大概就是酱紫撒,更详细的我也懵啦,想不出来啦。 来源: https://www.cnblogs.com/daker-code/p/12232592.html

算法学习:二分查找法法

坚强是说给别人听的谎言 提交于 2020-01-11 00:40:09
通常在查找数组的时候,会发现一个一个查找很浪费资源,因此通过二分查找法,实现 (上面是思维导图) #include<stdio.h> #include <windows.h> //while、do while 、goto、for、递归 void digui(int shang,int xia,int zhong,int num) { zhong = (shang + xia) / 2; if (shang <= xia) { if (num == zhong) { printf("递归:find.%d\n", zhong); return; } else if (num < zhong) { xia = zhong - 1; printf("shang.%d,zhong.%d,xia.%d \n", shang, zhong, xia); } else { shang = zhong + 1; printf("shang.%d,zhong.%d,xia.%d \n", shang, zhong, xia); } } return; } int main() { int a[1024]; for (int i = 0; i<1024; i++) { a[i] = i; //printf("%d\n",a[i]); } int shang = 0; int xia = 1023;

第三天

二次信任 提交于 2019-11-27 14:25:45
<html leng="en"> <head> <meta charset="utf-8"> <title>标签应用</title> <style></style> <script type="text/javascript"> </script> <style type="text/css"> body{margin:0;padding:0;background-color:#F8E6E6;} ul,li{margin:0;padding:0;} .zong{height:176px;border:1px solid #cc0000;background-image: url(img/1.png)} .top{width:1200px;height:auto;margin:0 auto;margin-top:20px;} .top ul{float:right;} .top ul li{border-right:2px solid #ffffff;float:left;list-style:none;text-align:center; width:145px;height:60px;line-height:76px;} a{font-size:18px;text-decoration:none;color:#ffffff;height:60px;width:120px

sql删除和更新

对着背影说爱祢 提交于 2019-11-27 12:42:18
sql删除和更新 --更新 删除 --update update 表名 set ..where --可以有where,但是不能有其他的 update tbstudent set stuEnglish = 60 where stuEnglish is null --delete 语法 delete from 表名 where..这个和上面的相似 -- delect from Tbstudent where stuGender = 0 --删除表中所有记录 --delect from CallRecords --truncate table CallRecords --区别 1.delect 删除后,自增字段不会自动归零 -- truncate会 -- 2. delect可以使用where子句,truncare不能使用 -- 3.truncate 删除的数据不能恢复,delect 在一定条件下可以 -- 4.truncate 删除很快 而那个相对较慢 --把所有姓‘xia’ 改为‘王’ update Tbstudent set stuName = REPLACE ( stuName , 'xia' , '王' ) where stuName like 'xia%' select * from Tbstudent 来源: https://blog.csdn.net/qq_44983621