题解
best_hacker
这个作者很懒,什么都没留下…
展开
-
【NOIP2019普及级别模拟】最短路线(高精度+压位)
题目最短路线思路DPS可发现规律:当前dp[i][j]=dp[i][j-1]+dp[i-1][j],但会TLE需要注意的地方要用要用高精度加法+压位(WTF)码子#include<bits/stdc++.h> using namespace std;const int N=801;#define mod 100000000//对应进制数 int n,m,len;...原创 2019-03-31 17:13:44 · 192 阅读 · 0 评论 -
换教室
题目思路dp[i][j][k] : 表示走完前i个教室,换了j次,i有没有换的方案数理解“换的概率”:如果换,则两点距离为成功概率换之后教室距离+失败概率*不换教室距离注意用double!!!#include <cstdio>#include <iostream>#include <algorithm>#include <cst...原创 2019-07-18 19:36:53 · 88 阅读 · 0 评论 -
借教室
题目思路题目中对租教室的描写满足了“差分”,立即想到差分处理每次借教室但是怎么判断还能不能借?只能用前缀和计算当前天数有无教室剩余,但是会TLE咋办? 让我们二分它!!!#include <cstdio>#include <iostream>#include <algorithm>#include <cstring>using...原创 2019-07-18 19:44:24 · 156 阅读 · 1 评论 -
Vigenère密码
思路观察输入,密码即为各个的ascii码经过运算后的字母注意判断大小写是有等于号(0分的教训~~~~~)代码#include <cstdio>#include <iostream>#include <algorithm>#include <cstring> using namespace std;char k[105],a[1...原创 2019-07-16 19:59:22 · 454 阅读 · 0 评论 -
铺设道路
题目方法给定数组所对应的差分数组具有唯一性,而目标状态的差分数组为全零所以倒过来想,把全零数组转化为题目的差分数组,最少操作步数即为答案步数即为差分数组正项和~参考:玩具谜题码(huateng)#include <cstdio>#include <iostream>#include <algorithm>using namespace st...原创 2019-07-21 19:28:33 · 118 阅读 · 0 评论 -
【NOIP2018模拟赛19.8.23】capacitor
题目根据两个方案,倒着推导,由可以得到:a原创 2019-08-23 16:53:28 · 227 阅读 · 0 评论 -
【NOIP2018模拟赛19.8.20】妹子
题目思路不只单纯的平行放,还可以斜着放!!!斜着放时,枚举小的矩形放的角度就行了代码#include <cmath>#include <cstdio>#include <iostream>#include <algorithm>using namespace std;#define pie acos(-1) int n,a1,...原创 2019-08-20 15:44:29 · 162 阅读 · 0 评论 -
【NOIP2019模拟赛19.8.21】失意
描述思路问题阔以转化为从n个区间中选m个区间,区间交集最小容易想到:m个区间的交集,一定是所有区间中的maxl和minr相减的区间可以先左端点升序排列,先把前m个元素加入优先队列,加入一个右端点,每次弹出右端点最小值,保证堆中只有m元素,并更新ans一个优化:因为加入右端点的时候,左端点为升序,当当前右端点小于堆中最小右端点时,选择这个区间的话答案肯定不是最优,所以直接contin...原创 2019-08-21 16:10:59 · 183 阅读 · 0 评论 -
【NOIP2019模拟赛19.8.21】荒诞
题目做法可以发现,就是求1~n的平方和,注意long long,for循环也要开!码子#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;#define N 1000005#define LL...原创 2019-08-21 16:24:17 · 128 阅读 · 0 评论 -
【NOIP模拟赛19.8.26】死宅与陷阱
题目思路考场想用dijkstra求最短路得方法算出最大概率,但是错了:因为如果有两条路可以到达该点,那么到达这个点的概率应该是走这两条路的概率之和,而不是选择概率大的一条路。所以T1只有5分qwq正解直接暴力dfs算概率,最后把概率排序增加陷阱代码#include <bits/stdc++.h>using namespace std;#define N 100005...原创 2019-08-26 17:03:27 · 173 阅读 · 0 评论 -
玩具谜题
题目简单模拟(手动huajia )#include <cstdio>#include <iostream>#include <algorithm>#include <string>using namespace std;struct info{ int dir; string s;}a[100001];int n...原创 2019-07-18 19:20:56 · 290 阅读 · 0 评论 -
花匠
题目描述花匠栋栋种了一排花,每株花都有自己的高度。花儿越长越大,也越来越挤。栋栋决定把这排中的一部分花移走,将剩下的留在原地,使得剩下的花能有空间长大,同时,栋栋希望剩下的花排列得比较别致。具体而言,栋栋的花的高度可以看成一列整数h_1,h_2,…,h_nh 。设当一部分花被移走后,剩下的花的高度依次为g_1,g_2,…,g_mg ,则栋栋希望下面两个条件中至少有一个满足:条件 AA...原创 2019-07-15 19:57:27 · 149 阅读 · 0 评论 -
积木大赛
题目描述春春幼儿园举办了一年一度的“积木大赛”。今年比赛的内容是搭建一座宽度为nn的大厦,大厦可以看成由n块宽度为1的积木组成,第i块积木的最终高度需要是h_ihi 。在搭建开始之前,没有任何积木(可以看成nn块高度为00的积木)。接下来每次操作,小朋友们可以选择一段连续区间[l, r][l,r],然后将第第 L L块到第 RR 块之间(含第 LL 块和第 R R块)所有积木的高度分别...原创 2019-07-15 19:54:03 · 300 阅读 · 0 评论 -
【NOIP2019普及级别模拟】接苹果(DP)
题目接苹果思路DP代码#include<cstdio>#include<algorithm>using namespace std;int t,w,ans,a[1001],dp[1001][31];int main(){ scanf("%d %d",&t,&w); for(int i=1;i<=t;i++) scanf("%...原创 2019-03-31 17:16:52 · 217 阅读 · 0 评论 -
【NOIP2019普及级别模拟】生成树(快速幂)
题目生成树思路公式直接求:即n^(n-2)注意的地方要用快速幂o~~码子#include<bits/stdc++.h>using namespace std;typedef long long LL;LL n,k,ans=1;int main(){ scanf("%lld %lld",&n,&k); if(k==0) {printf("-1"...原创 2019-03-31 17:20:19 · 126 阅读 · 0 评论 -
【2006普及】数列(进制)
题目思路1,根据题目:先把n转换成k进制,再把它当成二进制,最后转换为十进制.2,所以我们要做:n->二进制->k进制->十进制注意转进制中的pow可以编写一个快速幂代码#include<cstdio>#include<cmath>using namespace std;long long a[10006],k,n,id,ans;lo...原创 2019-04-07 08:12:32 · 154 阅读 · 0 评论 -
【NOIP2015普及组】求和
题目思路有题目可得,num同奇偶性时,才满足题目条件。所以先求出同奇偶性的,在分别求值就行了注:s数组每次更新代码#include<cstdio>using namespace std;#define N 100001#define mod 10007int n,m,sum;int num[N],c[N],s[N];void cal(){ for(int ...原创 2019-05-04 16:00:06 · 1315 阅读 · 1 评论 -
【NOIP2010提高组】
总结T1做过 ,所以直接ACT2做了很久,没想到过直接用4维数组DP,只用单纯的2维数组答案一直错T3想到了并查集,也想到了排序,但没有想到怎样得出答案,即循环边界T4以为也要用并查集,不知道为什么判断0的答案n为什么错了T1a,b数组储存系统里已经有的数字,a数组便于删除、增加数字,b数组便于判断系统里有没有这个数字#include<bits/stdc++.h>usi...原创 2019-05-26 15:31:46 · 142 阅读 · 0 评论 -
【NOIP2015 提高组】
DAY 1T1 神奇的幻方简单的模拟#include<bits/stdc++.h>using namespace std;#define N 50int n;int f[N][N];bool law1(int x,int y){ return (x==1 && y != n) ? true : false;}bool law2(int x,int y...原创 2019-07-08 16:37:53 · 280 阅读 · 0 评论 -
【NOIP2014 提高组】
DAY1T1 生活大爆炸版 石头剪刀布就直接模拟#include<bits/stdc++.h>using namespace std;int n,na,nb,win_a,win_b;int a[201],b[201];bool jud[6][6];void Judge(int x,int y){ if(x == y) return; if(jud[x][y] == ...原创 2019-07-08 16:58:28 · 275 阅读 · 0 评论 -
转圈游戏
题目描述nn 个小伙伴(编号从 0 0到 n-1n−1)围坐一圈玩游戏。按照顺时针方向给 n n个位置编号,从00 到 n-1n−1。最初,第 0 0号小伙伴在第 00号位置,第 1 1号小伙伴在第 11 号位置,……,依此类推。游戏规则如下:每一轮第 00 号位置上的小伙伴顺时针走到第 mm 号位置,第 1 1号位置小伙伴走到第 m+1m+1 号位置,……,依此类推,第n − m号位置上的小伙...原创 2019-07-15 19:01:15 · 212 阅读 · 0 评论 -
火柴排队
题目描述涵涵有两盒火柴,每盒装有 nn 根火柴,每根火柴都有一个高度。 现在将每盒中的火柴各自排成一列, 同一列火柴的高度互不相同, 两列火柴之间的距离定义为: \sum (a_i-b_i)^2∑(ai −bi )2其中 a_iai 表示第一列火柴中第 i i个火柴的高度,b_ibi 表示第二列火柴中第 ii 个火柴的高度。每列火柴中相邻两根火柴的位置都可...原创 2019-07-15 19:45:41 · 120 阅读 · 0 评论 -
【NOIP模拟赛19.8.29】列队 (#匈牙利算法)
列队题目思路代码题目思路行列图:二分图经典模型,令行为左侧点,列为右侧点有同学的格子就在对应行列之间连一条边那么问题就转化为 二分图上最大的最大独立集问题最大独立集点数=总点数-最大匹配数 匈牙利算法即可代码// https://blog.csdn.net/C20180630/article/details/70175814// https://blog.csdn.net/...原创 2019-08-29 16:22:07 · 235 阅读 · 0 评论