- 博客(7)
- 收藏
- 关注
原创 hdu10
1011:根据数据进行推算大概是当k>0时直接降序排序当k<=0时输出1 2 3一直到n题解也没证明。。#include<bits/stdc++.h>using namespace std;int main(){ int T; scanf("%d",&T); while(T--){ int n,k; scanf("%d%*d%d",&n,&k); vector<i
2020-08-25 22:34:23 84
原创 hdu9
1009:最简单的题我们先找了上下界很容易发现上届n+1,下届n然后根据我们的思考得出了下列代码#include<bits/stdc++.h>using namespace std;int main(){ int T; cin>>T; while(T--) { //ios::sync_with_stdio(false); int n,x,y; cin>>n>>x>>y; if(x+y>n+1) c
2020-08-16 19:17:16 184
原创 hdu6
1002:最简单的题模拟就ok当时我还卡了因为想暴力,枚举2-16进制然后爆仔细一想不需要学到了isdigit函数可以判断数字isalpha函数可以判断字母#include<bits/stdc++.h> using namespace std;string ss,num1,num2,num3;char x;int minr;void get_num(){ int now=1; for (char c:ss) { if (!is
2020-08-10 19:46:36 99 1
原创 hdu5
1001:根据数学知识,得到了1/h2=1/a2+1/b2=1/c2然后预处理计算概率就行了最后一个求逆元可惜不管怎么都超时。。#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=6e6+5;const ll mod=998244353;const ll Inf=1e18;int inv[N],sum[N];int main(){ inv[0]=1,inv[1]=1;
2020-08-08 11:43:16 140
原创 2020多校补题第四场
1011:瞎算一通过了看题解发现竟然直接输出就行当时的代码:#include<bits/stdc++.h>using namespace std;const double G=6.67430*1e-11;int main(){ int T; cin>>T; while(T--) { double a,b,d,t0; cin>>a>>b>>d>>t0; double cs=d; double
2020-08-03 22:42:12 135
原创 多校第三场补题
1004:这道题我觉得就是一个贪心先把p倍数的数据踢出然后把剩下的片段划分成p倍数段,求max的段数贪心直接从右往左找就行用map来做code:#include <bits/stdc++.h>using namespace std;int main(){ int t,n,p,x,y,z; cin>>t; while(t--) { cin>>n>>p; map<int,int> mp; mp[0]=1; y
2020-08-02 10:56:32 126
原创 2020多校2补题
2020多校21010:这道题我的思路是用二维数组表示可达性矩阵,然后找出连通数最大的点,把与其联通的其它点看作一个整体区块,将最小值减少到0,然后重复过程,直到全部变为0.然后超时了。。二维数组加两层循环果然超了后面才发现可以转化为树来做,可以将整个过程倒过来看,变成按照 b 的值从大到小依次加入每个点。加入每个点 x 时遍历与 x 相连的所有边 (x, y),如果 y 在 x 之前加入且 x 和 y 不连通则将 x和 y 合并,并将 y 所在连通块的树根的父亲设为 x,得到一棵有根树。那么每
2020-07-27 17:49:54 97
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人