
NOIP
hhuhao
这个作者很懒,什么都没留下…
展开
-
NOIP2015信息传递
可以去Luogu上看着道题先看一下一下样例:Sample Input:52 4 2 3 1Sample Output:3可以认为是这样的1->22->43->24->35->1然后我们发现若抽象成图。 图中有一个环(2->4->3->2),大小正好是3。 可以推知:环内的人必定在环的大小单位时间后得到自己的信息。 所以直接找最小环原创 2017-07-11 10:00:32 · 252 阅读 · 0 评论 -
[NOIP2014]寻找道路
送大家个uoj的链接吧两遍BFS,简单WA AC 注:第二遍改DFS会TLE 直接上代码vector<int>t[10010];vector<int>r[10010];queue<int>q;int p[10010],n,b,e,g[10010],f[10010];void add(int v,int u){ t[u].push_back(v); r[v].push_b原创 2017-07-11 14:54:54 · 315 阅读 · 0 评论 -
Luogu P1970 花匠
我们可以看出:连续上升或下降,只可能留两侧的数。然后就是:因为要求最多的盆数,所以:每个连续上升或下降的两侧,都要取原创 2017-07-30 20:35:35 · 269 阅读 · 0 评论 -
NOIP2014 解方程
30’0<n≤2,|ai|≤100,an≠0,m<1000<n \le 2,|ai| \le 100,an \not=0,m<100 显然n∈{1,2}n\in\{1,2\} 直接求根+判断:n=1n=1:a0+a1x=0a_0+a_1x=0 x=−a0a1x=- \dfrac{a_0}{a_1}n=2n=2 :a0+a1x+a2x2=0a_0+a_1x+a_2x^2=0 x=−a1±a21原创 2017-07-31 15:44:45 · 283 阅读 · 0 评论 -
NOIP2014联合权值
暴力 找中点 累加int n,f[200010],ansmax,ans;vector<int>t[200010];int main(){ n=read(); fr(i,1,n-1) { int u=read(),v=read(); t[u].push_back(v); t[v].push_back(u); }原创 2017-08-02 14:50:24 · 208 阅读 · 0 评论 -
NOIP2017愤怒的小鸟
首先,可以根据任意两点确定一个二次函数。 b=yi×x2j−yj×x2ixi×x2j−x2i×xjb=\dfrac{y_i\times x_j^2-y_j\times x_i^2}{x_i\times x_j^2-x_i^2\times x_j} a=yi−b×xix2ia=\dfrac{y_i-b\times x_i}{x_i^2} 然后处理出每条二次函数经过的点数 并状压DP fif_原创 2017-08-18 17:24:33 · 450 阅读 · 0 评论 -
LuoguP2827 蚯蚓
这道题去年看了一下题解,今年没有看题解做,只记得单调队列,然后十分尴尬。代码并不长(短)//说明在程序下面#define N 100010#define M 7000010long long n,m,q,u,v,t,topb,lsta,lstb,lstc,topc;long long a[N],b[M],c[M];bool cmp(long long a,long long b){原创 2017-11-04 14:56:43 · 218 阅读 · 0 评论 -
luogu3959
NOIP2017所有1~2题题解总汇:本蒟蒻的另一个博客(不过博客没备份(源码),删了,只好先来优快云上了) 就是用搜索,只能过luogu#define N 20int n,d[N][N],ans,t[N],h[N];void dfs(int x,int w){ if(ans<=w) return; if(x==n+1) { ans=原创 2017-12-02 19:15:58 · 290 阅读 · 0 评论