随笔分类 -  SYCOJ

摘要:https://oj.shiyancang.cn/Problem/798.html #include<bits/stdc++.h> using namespace std; typedef long long ll; const int mod = 21252; ll a[4],m[4]; ll M 阅读全文
posted @ 2021-07-29 01:40 mofan552 阅读(51) 评论(0) 推荐(0) 编辑
摘要:https://oj.shiyancang.cn/Problem/781.html 素数距离,数据范围21亿,如果用素数筛存,并且进行做的话,按照x/lnx计算会是一个非常恐怖的复杂度。确定要做什么,首先一定要筛选素数,然后一定要进行素数的比较。问题就在筛选素数这里,可以看到区间范围很小,可以从这里 阅读全文
posted @ 2021-07-27 12:14 mofan552 阅读(84) 评论(0) 推荐(0) 编辑
摘要:https://oj.shiyancang.cn/Problem/304.html 首先数据范围不可能算出来的,那么就要看数的性质。 0是怎么来的首先我们知道,有一个0,就必然会有一个5和2. n!在这里面,只要是偶数必然会有2,则2的次数一定大于5的次数。 则只需要统计5的次数即可。这就是n!里面 阅读全文
posted @ 2021-07-26 22:42 mofan552 阅读(56) 评论(0) 推荐(0) 编辑
摘要:题目— 2的幂次方 (shiyancang.cn) 递归题 #include<bits/stdc++.h> using namespace std; int k; void f(int n,int step) { if(n==0) return; f(n/2,step+1); if(n%2==1) 阅读全文
posted @ 2021-07-13 23:40 mofan552 阅读(34) 评论(0) 推荐(0) 编辑
摘要:题目—负二进制 (shiyancang.cn) 进制的实质在于对于进制数的选择,选择不满足的填入当前的位置,然后除掉,继续开始选择。但是对于本题,是负数,但是进制上的数字为正数,所以就要调整,借位,因为符号不同,所以借位就是增加,进位就是减去。还有循环进位 #include<bits/stdc++. 阅读全文
posted @ 2021-07-13 23:34 mofan552 阅读(38) 评论(0) 推荐(0) 编辑
摘要:题目—传纸条 (shiyancang.cn) 算法(线性DP) O(n3)O(n3)首先考虑路径有交集该如何处理。可以发现交集中的格子一定在每条路径的相同步数处。因此可以让两个人同时从起点出发,每次同时走一步,这样路径中相交的格子一定在同一步内。 状态表示:f[k, i, j] 表示两个人同时走了k 阅读全文
posted @ 2021-07-13 01:27 mofan552 阅读(34) 评论(0) 推荐(0) 编辑
摘要:题目—递归函数 (shiyancang.cn) 记忆化dfs,注意dp的限制范围 #include<bits/stdc++.h> using namespace std; const int N=52; typedef long long ll; ll dp[N][N][N]; ll a,b,c; 阅读全文
posted @ 2021-07-13 01:19 mofan552 阅读(26) 评论(0) 推荐(0) 编辑
摘要:给定一个数组,将其所有子区间的和从小到大排序,求第k小的是多少。 输入第一行两个数n, k,表示数组的长度和k;第二行有n个数,第i个是a[i],表示给定的数组。 输出仅一个数,表示答案。 样例输入5 61 1 1 1 1 样例输出2 二分答案,逐一寻找即可,计算所有小于的,如果不行,那么就在另外一 阅读全文
posted @ 2021-07-13 01:16 mofan552 阅读(70) 评论(0) 推荐(0) 编辑
摘要:题目—猴子选大王 (shiyancang.cn) 一、出队顺序Description有M个人,其编号分别为1-M。这M个人按顺序排成一个圈。现在给定一个数N,从第一个人开始依次报数,数到N的人出列,然后又从下一个人开始又从1开始依次报数,数到N的人又出列...如此循环,直到最后一个人出列为止。 In 阅读全文
posted @ 2021-07-13 01:11 mofan552 阅读(154) 评论(0) 推荐(0) 编辑
摘要:题目—神奇的幻方 (shiyancang.cn) 模拟就对了 因为每一个状态由前一个状态决定,所以只需要记录即可 #include<bits/stdc++.h> using namespace std; const int N=52; int k[N][N],n,pre1,pre2; int mai 阅读全文
posted @ 2021-07-13 01:06 mofan552 阅读(39) 评论(0) 推荐(0) 编辑
摘要:题目—瑞士轮 (shiyancang.cn) 模拟题 #include<bits/stdc++.h> using namespace std; const int N=1e5+520; int n,r,q,res1=1,res2=1; struct grade { int total,num,abi 阅读全文
posted @ 2021-07-13 01:02 mofan552 阅读(37) 评论(0) 推荐(0) 编辑
摘要:题目—螺旋矩阵 (shiyancang.cn) noip201403螺旋矩阵【普及组】数学算法 - 大本营 - 博客园 (cnblogs.com) 以下为搬运代码。一个为算圈数,另外一个是数学方法 思路如下: 1.输入n>>a>>b; 2.用一个循环缩小范围求出a,b所示的数所在的圈数q; 3.再一 阅读全文
posted @ 2021-07-13 00:55 mofan552 阅读(56) 评论(0) 推荐(0) 编辑
摘要:题目—乘二加一 (shiyancang.cn) 递归写法 #include <bits/stdc++.h> using namespace std; string f(int n) { if (n == 1) return "1"; return n & 1 ? "(" + f((n - 1) >> 阅读全文
posted @ 2021-07-13 00:45 mofan552 阅读(158) 评论(0) 推荐(0) 编辑
摘要:题目—斜线输出(1) (shiyancang.cn) 在同一斜线上的满足方程。坐标关系计算即可。 #include<bits/stdc++.h> using namespace std; const int N=52; int n; int a[N][N]; int main() { scanf(" 阅读全文
posted @ 2021-07-13 00:38 mofan552 阅读(95) 评论(0) 推荐(0) 编辑
摘要:题目—摆动序列 (shiyancang.cn) 直接分成两部分,插入即可。只有一个地方不对,那就是符号。两个大的放一个小的,两个小的放一个大的。那么每次的大的放最大的,每次的小的放其次小的,用完就不用考虑了,直接考虑下一个即可,而对于后面的,前面的一个是满足最小的。 #include<bits/st 阅读全文
posted @ 2021-07-13 00:27 mofan552 阅读(33) 评论(0) 推荐(0) 编辑
摘要:题目—图书管理员 (shiyancang.cn) 图书馆中每本书都有一个图书编码,可以用于快速检索图书,这个图书编码是一个正整数。 每位借书的读者手中有一个需求码,这个需求码也是一个正整数。 如果一本书的图书编码恰好以读者的需求码结尾,那么这本书就是这位读者所需要的。 小LL刚刚当上图书馆的管理员, 阅读全文
posted @ 2021-07-13 00:18 mofan552 阅读(58) 评论(0) 推荐(0) 编辑
摘要:题目—超级百钱百鸡 (shiyancang.cn) 百钱百鸡的加强版 百钱百鸡的话,因为是有范围,所以挨个挨个尝试即可,确定两个,即可确定第三个。 超级百钱百鸡,通过题目的描述,最后可以得到一个二元的式子,然后就是求解。同样的枚举,对于每一个可能的系数 枚举,如果满足,那么即可成立。 #includ 阅读全文
posted @ 2021-07-13 00:11 mofan552 阅读(52) 评论(0) 推荐(0) 编辑
摘要:题目—三角形游戏 (shiyancang.cn) 对于任意的一个数字,把他拆分为n个数字,使得其逐层和为该数字. 首先n很小,所以很可能是搜索。DFS,n回选择。 #include<bits/stdc++.h> using namespace std; const int N=20; bool fl 阅读全文
posted @ 2021-07-13 00:02 mofan552 阅读(41) 评论(0) 推荐(0) 编辑
摘要:题目—吉祥物 (shiyancang.cn) 1 #include<bits/stdc++.h> 2 using namespace std; 3 int n,x; 4 int pos(int n) 5 { 6 int s=1,j=1; 7 while(s<n) 8 { 9 s+=j++; 10 } 阅读全文
posted @ 2021-06-05 21:52 mofan552 阅读(46) 评论(0) 推荐(0) 编辑
摘要:题目—01字符串 (shiyancang.cn) 1 #include<bits/stdc++.h> 2 using namespace std; 3 4 int main() 5 { 6 string a="0"; 7 int n; 8 cin>>n; 9 string ans=""; 10 if 阅读全文
posted @ 2021-06-05 21:47 mofan552 阅读(45) 评论(0) 推荐(0) 编辑