![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
洛谷
Fovait
这个作者很懒,什么都没留下…
展开
-
洛谷P1364医院设置
#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<queue>using namespace std;bool g[105][105]={0}; //这里n小我就直接邻接矩阵了,如果用邻接表还能快点 bool v[105]={0};int n,num[105],ans=1<<30;stru.原创 2021-08-20 10:47:43 · 180 阅读 · 0 评论 -
2021-07-20
#include<iostream>#include<bits/stdc++.h>using namespace std;const int maxn = 100+5;int father[maxn],deep[maxn],width[maxn];int n,maxd = 1,maxw = 0;int lca(int u,int v){ if(deep[u] < deep[v]) swap(u,v); while(deep[u] != deep[v]){/.原创 2021-07-20 15:36:29 · 66 阅读 · 0 评论 -
洛谷P1010 [NOIP1998 普及组] 幂次方
#include<iostream>#include<algorithm>#include<cmath>#include<cstdio>#include<bits/stdc++.h>using namespace std;int n;int a[17];int work(int x){ if(x == 0){ printf("0"); return 0; } if(x == 2){ printf("2"); .原创 2021-07-18 10:07:22 · 93 阅读 · 0 评论 -
洛谷P1873 砍树
#include<iostream>#include<cstdio>#include<bits/stdc++.h>using namespace std;long long n,m;long long h[1000050];long long sear(long long l,long long r){ long long mid = (r + l) / 2; long long sum = 0; for(int i = 1; i <= n; +.原创 2021-06-06 20:21:31 · 60 阅读 · 0 评论 -
洛谷P1045 [NOIP2003 普及组] 麦森数
纯模拟加高精会T 4个点正常高精度存的数是一位一位的存储“100035”[1][0][0][0][3][5]由于数据太大处理的时间会变长,并且每个数组元素的大小有浪费,所以我们可以在一个数组元素中存储多个数字[100][035]这样既节省了时间又压缩了空间#include<iostream>#include<cstring>#include<cmath>using namespace std;long long a[10000] = {1,1};/.原创 2021-06-06 08:35:58 · 127 阅读 · 2 评论 -
洛谷P4924 [1007]魔法少女小Scarlet
模拟一下就出来了,坐标的变换#include<iostream>#include<bits/stdc++.h>using namespace std;int a[505][505];void fun(int x,int y,int r,int z){ int i,j; if(z == 0){ for(i = 1; i <= r; ++i){ for(j = -i; j < i; ++j){ swap(a[x-i][y+j],a[x+j][y+i.原创 2021-06-05 23:47:35 · 84 阅读 · 0 评论 -
洛谷P2895 [USACO08FEB]Meteor Shower S
搜索边界可以比300大#include<bits/stdc++.h>#include<iostream>#include<queue>using namespace std;queue<pair<int,int> >qe;int count;int ans = 1e8;int dx[] = {0,1,-1,0,0};int dy[] = {0,0,0,1,-1};int a[350][305] = {0};int p[350]原创 2021-06-05 11:00:54 · 76 阅读 · 0 评论 -
洛谷P1015 [NOIP1999 普及组] 回文数
#include<iostream>#include<cstring>#include<cstdio>using namespace std;int n,a[101],b[101],ans,i;void init(int a[]){ string s; cin >> n >> s; memset(a,0,sizeof(a)); a[0]=s.length(); for(i = 1; i <= a[0]; ++i) i.原创 2021-06-04 18:05:59 · 100 阅读 · 0 评论 -
洛谷P1259 黑白棋子的移动
打表出奇迹#include <bits/stdc++.h>#include <iostream>#include<string>using namespace std;string o[4] = {"ooo*o**--*","o--*o**oo*","o*o*o*--o*","--o*o*o*o*"};int n;char chess[205];void output(){ cout << chess << endl;}v..原创 2021-06-02 21:35:16 · 85 阅读 · 0 评论 -
洛谷P1091 [NOIP2004 提高组] 合唱队形
思路是先从1到n求第i个人单调上升的数目,再求从n到1的第i个人单调上升的数目,最后找最大值#include<iostream>using namespace std;int h[1010];//高度int ans;int uph[1010],downh[1010];//上升,下降int main(){ int n; cin >> n;//n个人 int i,j; for(i = 1; i <= n; ++i){ cin >> h[i];//.原创 2021-06-02 15:17:11 · 96 阅读 · 0 评论 -
洛谷P1135 奇怪的电梯
#include<bits/stdc++.h>#include<iostream>#include<queue>using namespace std;int n,a,b,x;int f[205];//楼层的数字bool w[205];//是否到达int ans[205];//到达当前楼层的次数int main(){ cin >> n >> a >> b; if(a == b){//相等直接输出0 cou.原创 2021-05-31 20:15:45 · 56 阅读 · 0 评论 -
洛谷P1443 马的遍历
#include<iostream>//第一道bfs题#include<bits/stdc++.h>#include<queue>using namespace std;int n,m,x,y;int xx,yy;//跳的位置int dx[] = {-2,-1,1,2,2,1,-1,-2};int dy[] = {1,2,2,1,-1,-2,-2,-1};int pace[405][405];//步数bool pos[405][405];//是否跳过.原创 2021-05-31 18:05:01 · 74 阅读 · 0 评论 -
洛谷P1518 [USACO2.4]两只塔姆沃斯牛 The Tamworth Two
#include<iostream>#include<algorithm>#include<cmath> using namespace std;char forest[12][12];//方向int x[] = {-1,0,1,0};int y[] = {0,1,0,-1};int f1,f2;//农夫的坐标int c1,c2;//牛的坐标bool t[160005];//状态数组void fun(int x1,int y1,int x2,in..原创 2021-05-30 22:11:11 · 177 阅读 · 0 评论 -
洛谷P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G
思路是先将已输入的数据从小到大快排一遍,然后从第二项开始加前一项,更新当前果子堆的顺序(用快排会超时),重复操作,输出(不理解的可以用61 1 1 1 2 3数据模拟一下)#include<iostream>#include<algorithm>using namespace std;int n,sum = 0;int a[10005];bool cmp(int a,int b){ return a < b;}int main(){ cin >.原创 2021-05-30 10:42:32 · 102 阅读 · 0 评论 -
洛谷P2722 [USACO3.1]总分 Score Inflation
完全背包模板题#include<iostream>using namespace std;int dp[1000005];int p[10005],t[10005];int main(){ int m,n; cin >> m >> n; int i; for(i = 1; i <= n; ++i)cin >> p[i] >> t[i]; int j; for(i = 1; i <= n; ++i){ for(.原创 2021-05-29 07:42:25 · 81 阅读 · 0 评论 -
洛谷P1115 最大子段和
#include<iostream>//灵光乍现,转移方程就写出来了using namespace std;int dp[200005],w[200005];int n;int main(){ cin >> n; int i; for(i = 1; i <= n; ++i) { cin >> w[i]; dp[i] = w[i]; } for(i = 1; i <= n; ++i) dp[i] = m.原创 2021-05-10 19:37:48 · 41 阅读 · 0 评论 -
洛谷P1149 [NOIP2008 提高组] 火柴棒等式
#include<iostream>using namespace std;int num[] = {6,2,5,5,4,5,6,3,7,6};//每个数需要的火柴棒数int n;int ans,ans1;void sear(int x){ int i,j; for(i = 0; i <= 1000; ++i){//最大是3位数,不到1000的话只能拿60分 for(j = 0;j <= 1000 - i; ++j){ int num1 = 0,num2 = .原创 2021-05-09 11:27:49 · 133 阅读 · 0 评论 -
洛谷P2196 [NOIP1996 提高组] 挖地雷
01背包#include<iostream>using namespace std;int n;int v[25];//存放当前地窖的地雷数int dp[25];//dp数组int w[25][25];//状态,能否通行int count[25];//记录路径int main(){ cin >> n; int i,j; for(i = 1; i <= n; ++i){//初始化数组 cin >> dp[i]; v[i] = dp[i..原创 2021-05-08 08:38:10 · 130 阅读 · 0 评论 -
洛谷P1510 精卫填海
#include<iostream>using namespace std;int v,n,c;int dp[100050];int k[10050];int m[10050];int t[10050];int main(){ cin >> v >> n >> c; int i,j; for(i = 1; i <= n; ++i) cin >> k[i] >> m[i]; for(i = 1; i &l.原创 2021-05-07 15:33:03 · 69 阅读 · 0 评论 -
洛谷P1216 [USACO1.5][IOI1994]数字三角形 Number Triangles
#include<iostream>using namespace std;int t;int dp[1050][1050];int main(){ cin >> t; int i,j; for(i=1; i <= t; ++i){ for(j = 1; j <= i ;++j){ cin >> dp[i][j]; }} for(i=t-1; i >= 1; --i){ for(j = i; j >= 1.原创 2021-05-07 07:45:24 · 53 阅读 · 0 评论 -
洛谷P1060 [NOIP2006 普及组] 开心的金明
模板题#include<iostream>using namespace std;int n,m;int v[30];int w[30];int dp[30][30050];//第几个,剩余零花钱 int main(){ cin >> n >> m; int i,j; for(i = 1; i <= m; ++i){ cin >> v[i] >> w[i];} for(i=1; i <= m; ++i){.原创 2021-05-06 16:26:55 · 53 阅读 · 0 评论 -
洛谷P1359租用游艇
建议跟着我的代码自己打个表就懂了#include<iostream>using namespace std;int n;int t[205][205];//时间int dp[205];//dp数组int w[205][205];从i到j的时间int main(){ cin >> n; int i,j; for(i = 1; i <= n-1; ++i){//赋值 for(j = i+1;j <= n; ++j){ cin >> .原创 2021-05-06 15:58:51 · 78 阅读 · 0 评论 -
洛谷P1596[USACO10OCT]Lake Counting S
#include <bits/stdc++.h>using namespace std;int n,m;char c[105][105];//状态int dx[] = {0,0,1,-1,-1,-1,1,1};//8个方向int dy[] = {1,-1,0,0,-1,1,-1,1};int cnt;void dfs(int x,int y){//搜索 c[x][y] = '.';//先把当前的水坑变一下 int k; for(k = 0; k < 8; ++k.原创 2021-05-05 10:57:50 · 174 阅读 · 0 评论 -
洛谷P1605迷宫
搜索与回溯#include<iostream>using namespace std;int a[8][8];//迷宫int c[8][8];//迷宫是否访问过int cnt;//数量int b[4][2] = {{0,1},{0,-1},{1,0},{-1,0}};//方向数组int n,m,t;void sear(int x1,int y1,int x2,int y2){//搜索,起点坐标,终点坐标 c[x1][y1] = 1;//当前迷宫已被访问过 if(x1 ==原创 2021-05-05 09:11:07 · 93 阅读 · 0 评论