首页 > TAG信息列表 > 20005

[2011年NOIP提高组] 铺地毯

试题分析:要求最后覆盖的地毯的编号,所以可以从n向上遍历,找到符合要求的地毯,然后输出 注意:没有地毯时输出-1 #include<bits/stdc++.h>using namespace std;int main(){ int s,ss,n,x[20005],y[20005],i,j,g[20000],k[20000]; cin>>n; for(i=1;i<=n;i++){ cin>>x[i]>>y[i]>>g[i]>>k

P1122 最大子树和

题面 小明对数学饱有兴趣,并且是个勤奋好学的学生,总是在课后留在教室向老师请教一些问题。一天他早晨骑车去上课,路上见到一个老伯正在修剪花花草草,顿时想到了一个有关修剪花卉的问题。于是当日课后,小明就向老师提出了这个问题: 一株奇怪的花卉,上面共连有 \(N\) 朵花,共有 \(N-1\) 条

LuoguP1557 Kruscal的加法 题解

题目Link 就是这道题,做了我整整一天! 看到题目,首先想到的就是:就这?就这一道大水题也能是绿?然后十分钟写完代码,提交…… 果不其然,绿题不是白绿的,看了一眼数据和讨论,又得写高精了…… 先附上非高精代码: #include<cstring> #include<cstdio> #include<iostream> #include<cmath> #defin

一道博弈题

考场上没想出来,最后讨论时发现精妙之处的一道题 精妙1: 强强和笨笨都足够聪明和自私,那么他们如果能赢,一定走最小步数。 而如果他们输了,一定让另一个人走最多步数 这是解题的其中一个关键 精妙2: 因为两人必定决出胜负,所以每个问题不是输,就是赢, 看似是一句废话,其实为最后的递推作了

Dijkstra算法模板

#include<bits/stdc++.h> using namespace std; priority_queue<pair<int,int> >q; int n,m,dis[20005],cnt,head[20005]; bool v[20005]; struct hhh { int to,nxt,w; }a[20005]; void add(int x,int y) { a[++cnt].nxt=head[x],a[cnt].to=y,head[x]=cnt