洛谷刷题
陆oz
越努力,越幸运
展开
-
洛谷 P1029 [NOIP2001 普及组] 最大公约数和最小公倍数问题
洛谷 P1029 [NOIP2001 普及组] 最大公约数和最小公倍数问题1.最大公约数和最小公倍数的乘积就是原两个数的积2.欧几里得算法 又叫辗转相除法 求最大公约数#include<iostream>#include<stdio.h>#include<math.h>using namespace std;//朴素方法的原理://枚举一个数,判断它能否被读入的两个数的积整除,//如果可以再判断它和两个数的积除以它所得的数//的最大公约数和读入的最大原创 2021-03-18 23:09:28 · 358 阅读 · 0 评论 -
洛谷 P1115 最大子段和
洛谷 P1115 最大子段和思路第一个数为一个有效序列。如果一个数加上上一个有效序列得到的结果比这个数大,那么该数也属于这个有效序列。如果一个数加上上一个有效序列得到的结果比这个数小,那么这个数单独成为一个新的有效序列。题解:#include<iostream>#include<stdio.h>#include<algorithm>#include<math.h>using namespace std;const int N=200005原创 2021-03-10 07:54:41 · 81 阅读 · 0 评论 -
K皇后问题 Acwing 843 n-皇后问题/洛谷 P2105 K皇后
K皇后问题Acwing 843 n-皇后问题思路参考了Anish的题解我的题解:#include<iostream>#include<stdio.h>using namespace std;const int N=20;char g[N][N];bool col[N],dj[N],udj[N];int n;void dfs(int u){ if(u==n){ for(int i=0;i<n;i++){ for(int j=0;j<n原创 2021-03-09 22:46:40 · 359 阅读 · 0 评论 -
洛谷P4924 [1007]魔法少女小Scarlet
洛谷P4924 [1007]魔法少女小Scarlet一道关于矩阵转置的模拟、枚举、暴力题题目很良心不用考虑越界的情况。思路:因为矩阵是绕着某个中心(x,y)旋转的而且保证是正方形,为了得到正确的式子、便于理解,我们不妨设(x,y)为原点(0,0),这样稍微模拟一下就可以得到顺时针旋转90°后正方形上一点(i,j)坐标变成(j,-i),逆时针旋转90°后坐标变成(-j,i),然后枚举i,j即可。顺时针和逆时针旋转void clockwise(int x,int y,int r){//顺时针 fo原创 2021-03-09 11:09:09 · 266 阅读 · 0 评论 -
洛谷 P1009 [NOIP1998 普及组] 阶乘之和 (暴力打表解简单高精度题方法)
洛谷 P1009 [NOIP1998 普及组] 阶乘之和Python打表代码f=open(r'point.txt','w') #存入文件sum=1i=2last=1n=50while i<=n: last*=i sum+=last i+=1 #主函数 f.write('"') #上引号 f.write(str(sum)) #具体值 f.write('",') #下引号与逗号f.close提交代码#include<stdio.h>#includ原创 2021-03-08 17:08:37 · 210 阅读 · 0 评论 -
洛谷 P1629 邮递员送信
今天刚学会Dijkstra算法的堆优化 练练手洛谷 P1629 邮递员送信 题目链接思路:正着走过去的时候用一便dijkstra。返回时就建个返图跑一遍dijkstra。反图可以把所有结点的编号 +n建在原图的体系中。dijkstra(1);for(int i=1;i<=n;i++){sum+=dist[i];} dijkstra(n+1);for(int i=1+n;i<=n*2;i++){sum+=dist[i];}完整代码:#include<iostre原创 2021-03-07 18:54:48 · 180 阅读 · 2 评论