寒假集训【1.26】
1月26日 |
||
时间段 |
记录 |
备注 |
8:00---8:30 |
请假 |
|
8:30---9:00 |
||
9:00----9:30 |
||
9:30---10:00 |
||
10:00—10:30 |
||
10:30---11:00 |
||
11:00---11:30 |
||
11:30---13:30 |
午休 |
|
13:30---14:00 |
看书+3道小例题 |
|
14:00—14:30 |
||
14:30—15:00 |
||
15:00—15:30 |
费解的开关 |
|
15:30---16:00 |
||
16:00---16:30 |
||
16:30---17:00 |
汉诺塔问题 |
|
17:00---18:30 |
||
18:30—21:30 |
汉诺塔问题 |
|
Sumdiv(分治) |
||
整理今日 |
分享交流:
(待书写)
附:可以贴各种资料或题解
费解的开关
若固定了第一行,则若改变第i行某位数字,若i-1行已经固定,则只能点击i+1行的该位置上的数字才可以。
递归妙!!!!真的妙。
汉诺塔问题
1、汉诺塔三塔问题 d[n]=2*d[n-1]+1
2、汉诺塔四塔问题 f[n]=min{x*f[i]+d[n-i]}
3、汉诺塔m盘n塔问题。f[i][j]=minf[k][j]∗2+f[i−k][j−1]。设f[i][j]为有i个盘子j个柱子时的最少步数. 那么肯定是把一些上面盘子移动到某根不是j的柱子上, 然后把剩下的盘子移动到j, 然后再把上面的盘子移动到j. 于是就有递推式f[i][j]=min{f[k][j]∗2+f[i−k][j−1],f[i][j]}
Sumdiv
求A^B的所有约数之和mod 9901
1、(看到满串公式就脑壳疼)理解不了为啥用乘法分配律就可以从约数集合得到那个式子,后来在onglu大佬的帮助之下成功理解(在线%神仙)。
2、后面那个分治法求sum真的是妙啊,等比数列这么一提,妙,真的妙。经过二分再配合快速幂,时间复杂度瞬间下降(书上是O(logc),然鹅我不会算(雾,妙啊)。
3、然后我就卡死在实现上了qaq。
4、分解质因数竟然不会写了,素数筛也忘了(我可能是个废人)晚上重学素数筛。
5、想得脑壳疼。最终在某位大佬的某篇博客的帮助下,写出来了(不容易啊qaq)
6、数学真妙啊!
我jio的很有必要贴一下我的AC代码
#include<bits/stdc++.h> using namespace std; const int maxn=5000+3; const int mod=9901; inline int read(){int s=0,w=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();} while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar(); return s*w; } int A,B,cnt,prime[maxn]; long long factor[100][2];//0存因子,1存次方. void getprime( );//素数筛 int getfactors(long long x);//分解质因数 long long ksm(long long a,long long b);//快速幂 long long sum(long long p,long long n);//核心公式 int main(){ int A,B; A=read(); B=read(); getprime(); long long ans=1; getfactors(A); for(int i=0;i<cnt;i++){ ans*=(sum(factor[i][0],B*factor[i][1])%mod); ans%=mod; } printf("%d",ans); return 0; } void getprime( ){ memset(prime,0,sizeof(prime)); for(int i=2;i<=maxn;i++){ if(!prime[i]) prime[++prime[0]]=i; for(int j=1;j<=prime[0]&&prime[j]<maxn/i;j++){ prime[prime[j]*i]=1; if(i%prime[j]==0) break; } } } int getfactors(long long x){ cnt=0; long long tmp=x; for(int i=1;prime[i]<=tmp/prime[i];i++){ factor[cnt][1]=0; if(tmp%prime[i]==0){ factor[cnt][0]=prime[i]; while(tmp%prime[i]==0){ factor[cnt][1]++; tmp/=prime[i]; } cnt++; } } if(tmp!=1){ factor[cnt][0]=tmp; factor[cnt++][1]=1; } return cnt; } long long ksm(long long a,long long b){ long long res=1; long long tmp=a%mod; while(b){ if(b&1){ res*=tmp; res%=mod; } b>>=1; tmp*=tmp; tmp%=mod; } return res; } long long sum(long long p,long long n){ if(p==0)return 0; if(n==0)return 1; if(n&1){ return((1+ksm(p,n/2+1))%mod*sum(p,n/2)%mod)%mod; } else return((1+ksm(p,n/2+1))%mod*sum(p,n/2-1)+ksm(p,n/2)%mod)%mod; }
转载于:https://www.cnblogs.com/Shayndel/p/10330204.html
寒假集训【1.26】相关推荐
- DP\记忆化搜索-牛客寒假集训营3-牛牛的DRB迷宫I
DP-牛客寒假集训营3-牛牛的DRB迷宫I 题目: 题意: 求迷宫问题的方案数量.与--求迷宫问题的方案数量.与--求迷宫问题的方案数量.与--DP题型总结中的<摘花生>类似.中的< ...
- 构造-牛客寒假集训营3-牛牛的DRB迷宫II
构造-牛客寒假集训营3-牛牛的DRB迷宫II 题目: 题意: 输入一个数字,表示从起点(1,1)到终点(n,m)的方案数量,输出满足条件的迷宫.输入一个数字,表示从起点(1,1)到终点(n,m)的方案 ...
- 关于构造和二进制,题目:牛牛的DRB迷宫Ⅱ(源自牛客竞赛2020年寒假集训)
关于构造和二进制,题目:牛牛的DRB迷宫Ⅱ(源自牛客竞赛2020年寒假集训) 题目: 链接:https://ac.nowcoder.com/acm/contest/3004/B 来源:牛客网 题目描述 ...
- 2019NEFU寒假集训新生考试 2020.1.6
2019NEFU寒假集训新生考试 2020.1.6 为期一周的的培训终于面临尾声,就以一场考试告终吧. A 28的因子 Description 我们都知道28的因子中含有4和7,而某些人偏爱数字4和7 ...
- 大一寒假集训(11)(12)---map,set
大一寒假集训(11)-map 1.查字典 nefu 1678 #include <bits/stdc++.h> using namespace std; map<string,int ...
- 寒假集训三(暴力枚举)2020.01.02(11题)
寒假集训三(暴力枚举)id :521 Problem:A 二倍的问题 Description 给定2到15个不同的正整数,你的任务是计算这些数里面有多少个数对满足:数对中一个数是另一个数的两倍.比如给 ...
- 2023寒假集训通知
各位家长,各位同学,新年好! 过去的2022是我们编程学习,算是比较成功的一年.大家跟着我们的团队进行了约一年的培训,很有收获.纵观全年: 1.寒假我们认真集训了24天 2.三四月间参加了人工智能学会 ...
- 2019寒假集训新生考试
序言: 为期一周的欢乐的寒假集训终于结束了,很高兴能认识这么多的大佬和学长.学姐.很感谢ljw学长和陈宇老师为我们寒假培训所作出的贡献. 简单点评一下今天的考试试题,就在比赛前的中午,jlw学长说题目 ...
- 2019寒假集训新生考试 【持续更新中】
2019寒假集训新生考试-NEFU 0107 emoji表情包 Problem A nefu 2101 28的因子 ⭐️ 本题使用暴力枚举,统计n可以分成几个4和7, 为了防止TLE ,先统计4的个数 ...
- 【软件创新实验室2021年寒假集训】Java后端开发漫谈及感悟分享
系列文章目录 [软件创新实验室2021年寒假集训]汇总篇 20级Java培训 第一天:[软件创新实验室2021年寒假集训]Java技术培训--Java前置知识学习 第二天:Java基础(一) 第三天: ...
最新文章
- 生物,AI,心理:目前的大脑/认知/意识/AGI/DRL模型
- 离职人员防止删除文件域策略
- 解决启动flanneld失败的方法
- html随页面移动固定,div设置了position: fixed属性后如何可以做到随浏览器左右移动?...
- suse linux11 改ip,suse11如何修改hostname[Linux基础]
- 怎样解决外键约束_《设计心理学》|找寻“设计师”所遇的真正问题与解决之道...
- signature=7d43f0ba2ce838fbec0ad1c29633027d,The Library of Jonathan Knight (1789-1864) *
- 标题栏透明android,android改变标题栏的透明度
- Iterator(迭代器)-对象行为型模式
- 婚恋职场人格-张晓文-武汉理工大学-中国MOOC-亲密关系测试题参考答案
- 软件工程专业的论文答辩_软件工程毕业论文答辩PPT模板
- selenium3降级到selenium2详细步骤
- 蓝牙耳机哪种款式好用?目前口碑超赞的4款蓝牙耳机
- Jenkins知识地图
- 网站不能正常访问的原因及几处处理方法
- 用fail2ban阻止ssh暴力破解root密码
- 越来越卷,教你使用Python实现卷积神经网络(CNN)
- 怎么让俩张图片在一行_壁纸文案 | 我们俩不会道别
- Excel 转 vCard格式、CSV格式
- C语言程序设计--19春 形考任务1,南开19春学期(1709、1803、1809、1903)《C语言程序设计》在线作业-1辅导资料.docx...