Rank
Search Result (hdu.edu.cn)
URL划分 - HDU 7451 - Virtual Judge (vjudge.net)
这题唯一要注意的就是后面只输出有等号的部分,然后模拟即可。
#include<bits/stdc++.h>
using ll=long long;
using ull=unsigned long long;
using PII=std::pair<double,double>;#define fir first
#define sec secondconst int N=1068576,P=131;void solve()
{std::string s;std::cin>>s;std::string a; int flag=0;int cnt=0;for(int i=0;i<s.length();i++){if(s[i]==':'&&flag==0){std::cout<<a<<'\n';flag=1;i+=2;a="";continue;}if(s[i]=='/'){if(cnt==0||a.find('=')!=std::string::npos) std::cout<<a<<'\n';cnt++;a="";continue;}a+=s[i];}}
signed main()
{std::ios::sync_with_stdio(0);std::cin.tie(0);int t=1;std::cin>>t;while(t--){solve();} return 0;
}
女神的睿智 - HDU 7454 - Virtual Judge
仔细读题模拟即可。
#include<bits/stdc++.h>
using ll=long long;
using ull=unsigned long long;
using PII=std::pair<double,double>;#define fir first
#define sec secondconst int N=1068576,P=131;void solve()
{std::string s;std::cin>>s;std::map<char,int> mp;for(auto i:s){mp[i]++;}if(s[0]==s[4]){std::cout<<s[0]<<'\n';}else{ll cnt1=0,cnt2=0;for(auto i:s){if(i==s[0]) cnt1++;}for(auto i:s){if(i==s[4]) cnt2++;}if(cnt1>cnt2) std::cout<<s[0]<<'\n';else if(cnt1<cnt2) std::cout<<s[4]<<'\n';else std::cout<<"N\n";}
}
signed main()
{std::ios::sync_with_stdio(0);std::cin.tie(0);int t=1;std::cin>>t;while(t--){solve();} return 0;
}
传奇勇士小凯 - HDU 7450 - Virtual Judge (vjudge.net)
关于证明一个概率事件的期望次数 - zjp_shadow - 博客园 (cnblogs.com)好文,拜读!
笔记-数学期望 - oier_hzy - 博客园 (cnblogs.com)
首先要算每个点的期望,可以读读上面文章容易知道期望天数为1/p,这里就是15/pi。
因为分母比较难处理,所以我们先预处理出1乘到15的最小公倍数,360360。然后就是把每个数的分母都变成它,因此dfs的时候我们求分子相加的最大值即可。
#include<bits/stdc++.h>
using ll=long long;
using ull=unsigned long long;
using PII=std::pair<double,double>;#define fir first
#define sec secondconst int N=2e5+10,P=131,mu=360360;int n;
std::vector<int> g[N];
bool st[N];
ull p[N],fz[N];
ull ans=0;ull lcm(ull a,ull b)
{return a*b/std::__gcd(a,b);
}
void dfs(int x,ull sum)
{ans=std::max(ans,sum);for(auto &i:g[x]){if(st[i]) continue;st[i]=1;dfs(i,sum+fz[i]);st[i]=0;}
}
void solve()
{ans=0;std::cin>>n;for(int i=1;i<=n;i++){g[i].clear();p[i]=fz[i]=0;}for(int i=1;i<=n-1;i++){int u,v;std::cin>>u>>v;g[u].push_back(v);g[v].push_back(u);}for(int i=1;i<=n;i++){std::cin>>p[i];fz[i]=mu/p[i]*15;}st[1]=1;dfs(1,fz[1]);ull gcd=std::__gcd(ans,(ull)mu);std::cout<<ans/gcd<<"/"<<mu/gcd<<'\n';
}
signed main()
{std::ios::sync_with_stdio(0);std::cin.tie(0);// int l=1;
// for(int i=1;i<=15;i++)
// {
// l=lcm(l,i);
// }
// std::cout<<l;
//360360int t=1;std::cin>>t;while(t--){solve();} return 0;
}