摘要: dfs练习题,我素数打表的时候j=i了,一直没发现实际上是j=i i,以后可记住了。还有最后一行不能有空格。。。昏迷了半天 我的代码(紫书上的算法) include using namespace std; int bk[110]; int num[110]; int vis[110]; int n 阅读全文
posted @ 2018-10-18 20:31 baccano! 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 又是一道比较复杂的模拟题。题中有两种队列,一种是总队列,从前向后。其他的是各个团体的小队列,因为入队的人如果有队友的话,会优先进入团体队列。 所以我们先设置两个队列和一个map,设置map倒是可以不用担心开多大数组这样的问题。然后开两个队列,一个是基本的q1,另一个是q2[1010] 一般的STL容 阅读全文
posted @ 2018-10-17 12:04 baccano! 阅读(375) 评论(0) 推荐(0) 编辑
摘要: map容器的模板题,判断是否能交换字母顺序变成另外一个单词,只需要先把单词都变成小写字母。然后再按字母字典序排序,放入map中进行计数,然后把计数为一的再放入另一个容器,再排序输出即可 我的代码(刘汝佳算法) include using namespace std; deque dq1,dq2; m 阅读全文
posted @ 2018-10-17 10:33 baccano! 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 步骤 ①先写快速幂取模函数 ②MR算法开始 (1)传入两个参数一个是底数一个是n也就是幂数,如果n是一个合数那么可以判定,这个数一定不是素数 (2)然后开始寻找一个奇数的n去计算,如果最后满足a^d%n=1那么这个可能就是一个素数,然后再判断k=n 1(目前数学不好不明所以) (3)MR结束 ③编写 阅读全文
posted @ 2018-10-16 21:30 baccano! 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 递推法虽然目前看不大懂,但是跟素数筛法差不多能记住。 代码 include using namespace std; int phi[10000005]; void db() { memset(phi,0,sizeof(phi)); phi[1]=1; for(int i=2;i a) cout 阅读全文
posted @ 2018-10-16 19:14 baccano! 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 一道比较难想的模拟题,用了队列等东西,发现还是挺难做的,索性直接看了刘汝佳的代码,发现还是刘汝佳厉害! 代码本身难度并不是很大,主要还是p=(p+n+d 1)%n+1;这一句有些难度,实际上经过自己的手动计算发现这一句真的是相当的正确,虽然无法准确的说明。 剩下的就是格式问题这个题很特别的只能用%3 阅读全文
posted @ 2018-10-16 09:28 baccano! 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 递推计算即可 f[1]=1 f[2]=2=f[1]+1 f[3]=2=f[1]+1 f[4]=4=f[1]+f[2]+1 f[5]=4=f[1]+f[2]+1 我的代码(算法借鉴洛谷题解) include using namespace std; int num[1010]; main() { fo 阅读全文
posted @ 2018-10-15 19:43 baccano! 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 乘法可以看成n个a相加,那么所需要的时间为O(n),那么如何降低乘法的时间呢(降低为logn)? 埃及乘法算法就是一种,分为奇数和偶数,(例如计算n a)偶数从1开始是a,然后1✖2,a+a以此类推,奇数的时候是从1开始先加上一个a以后跟偶数是一样的。 似乎先把两个乘数按大小排出来然后小的数在前面会 阅读全文
posted @ 2018-10-15 15:58 baccano! 阅读(678) 评论(0) 推荐(0) 编辑
摘要: 模拟题。。。我自己一直被光标下去上不去怎么模拟困扰,实际上可以直接从高到低,从左到右模拟 我的代码(算法借鉴题解) include using namespace std; int bk[200]; main() { string a; for(int i=0;i0;i ) { for(int j= 阅读全文
posted @ 2018-10-14 21:33 baccano! 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 代码 include using namespace std; int bk[110]; string sj(int t) { string ans=""; for(int i=0;i e; if(e=="easy") sum=5; else if(e=="normal") sum=8; else 阅读全文
posted @ 2018-10-14 00:35 baccano! 阅读(266) 评论(0) 推荐(0) 编辑