[Q]4EchoNStef

没人能逼着你刷题,更没人能阻止你刷题

ural 1846. GCD 2010(线段树)

题意: 求n个点的最大公约数,有两种操作,增加一个数,删去一个数,删去的数肯定是已经存在的 离线处理,先要离散化 然后找到每个数相应的位置插入或删除,简单的单点更新 gcd(a,b,c,d)=gcd(gcd(a,b),gcd(c,d)); #include #...

2013-08-07 15:20:24

阅读数 1084

评论数 1

ural 1586. Threeprime Numbers

题意: 定义这样一种数:Threeprime,指对于它的任意连续3位上的数字,都构成一个3位的质数。 求对于一个n位数,存在多少个Threeprime数。 读入一行,一个整数n(3 输出一行,即总数mod 10^9+9。 解法: 记录[100, 1000)范围内的所有的素数(是素数...

2013-08-06 14:00:07

阅读数 809

评论数 0

ural 1207. Median on the Plane(极角排序)

题意是求一堆点中的两个点,其连接的直线线要能等分所有点。 #include #include #include #include #include #include #include #include #include using namespace std; const in...

2013-08-06 10:09:00

阅读数 735

评论数 0

ural 1019 Line Painting (线段树)

#include #include #include using namespace std; #define MAX 1000000000 #define N 10010 #define M 5010 #define lch(i) ((i)<<1) #define rch(i)...

2013-08-05 16:33:30

阅读数 842

评论数 0

ural 1090. In the Army Now

树状数组的wiki页面:http://zh.wikipedia.org/wiki/%E6%A0%91%E7%8A%B6%E6%95%B0%E7%BB%84 题意:给出士兵的身高站位求逆序数,本题中是求某人前面比他矮的人的个数和。 #include #include #include u...

2013-08-05 12:01:21

阅读数 958

评论数 0

ural 1078 Segments

给出x轴上的线段的端点坐标,一个线段能覆盖另一个线段(端点不能相同),求出最多的线段覆盖并且从短到长给出路径。 #include #include using namespace std; int N,A[500],B[500],memo[500],choice[500]; int s...

2013-08-05 11:13:51

阅读数 914

评论数 0

URAL 1038 Spell Checker

这个题目可以用有限自动机的理论去做,也可以在设定好各个状态后枚举可能的情况并跳转状态,比如句子已经结束这个状态设为0,处于单词中这个状态设为1,在句子中间非单词部分时这个状态设为2,这样如果处于状态0但是遇到了小写字母就算是一个错误,处于状态1但遇到了大写字母也算是一个错误。 #include ...

2013-08-05 10:14:26

阅读数 809

评论数 0

1039. Anniversary Party (dp)

树DP 经典问题,公司聚会,下属和直属上司不能共存,给出每个人的快乐值,再给出每个人的编号和他的上司,选出一些人参加聚会使快乐值最大 /* 从叶子开始选择,每个节点只有选不和不选两种可能,dp[rt][0],dp[rt][1] 分别表示选和不选该节点 dp[rt][1]=s...

2013-08-05 09:49:57

阅读数 657

评论数 0

ural 1029. Ministry (dp)

Mr. F. wants to get a document be signed by a minister. A minister signs a document only if it is approved by his ministry. The ministry is an M-floo...

2013-08-05 09:38:09

阅读数 804

评论数 0

ural 1306(堆-优先级序列)

很大数量的数,求中位数 思路:此题不能存储所有元素,否则会MLE,想到用优先队列(默认值大的优先级高),存储一半,剩下的一半依次和队首比较,若小于队首,则将队首元素出队,新元素入队。 最后,若n为奇数,队首元素即为中间值;n为偶数,队列前两个的平均值为答案。 #include ...

2013-08-02 10:12:38

阅读数 953

评论数 1

1874. Football Goal

二分法作为分治中最常见的方法,适用于单调函数,逼近求解某点的值。但当函数是凸性函数时,二分法就无法适用,这时三分法就可以“大显身手”~~        如图,类似二分的定义Left和Right,mid = (Left + Right) / 2,midmid = (mid + Righ...

2013-07-31 16:16:58

阅读数 701

评论数 0

ural 1656. Far Away Kingdom's Army(bfs)

题意:有一个方阵有n行n列(3 求一种可行的方案将他们排在方阵中,使得同一行、同一列中,高度总是从中间向两边递减 解法:对输入的数据从大往小遍历,对矩阵从中央开始进行bfs即可。貌似是桶排序。 #include #include using namespace std; const i...

2013-07-31 14:35:34

阅读数 731

评论数 0

ural 1685. Orthography (树的遍历)

#include #include #include using namespace std; char s[20001],ans[20001]; void workk(int l,int r,int ll,int rr) { if (l>r) return; ...

2013-07-31 10:38:51

阅读数 1093

评论数 0

ural 1080. Map Coloring(二分染色bfs)

#include #include #include #include using namespace std; int map[105][105]; int pay[105]; int n; queueQ; void init() { memset(pay,-1,s...

2013-07-31 10:21:33

阅读数 1151

评论数 0

ural 1087. The Time to Take Stones(博弈)

/*思路是这样的,f[t]=1表示还剩t个子时先手是能赢的,f[t]=0表示先手会输,递推公式是这样的 f[t] = 1 当且仅当存在某个i,使f[t-k[i]]=0,因为先手可以直接拿k[i]个。*/ #include using namespace std; int main() { i...

2013-07-31 10:07:02

阅读数 809

评论数 0

1081. Binary Lexicographic Sequence(dp)

题意:给出一个串的长度n,串只有0,1组成,但是不能有两个相邻的1。按字典序给串排列,最先肯定是0000,接着是0001,依此类推。给一个数字m,输出在长度为n的情况下,第m个排列的串是什么,如果m大于总排列数,输出-1 思路: 递推。 首先,计算满足条件的N位序列的总个数。设为f[n] f[...

2013-07-31 09:32:54

阅读数 770

评论数 0

ural 1028. Stars (线段树)

jasison君我来无耻地抄(xue)写(xi)代码了~ #include #include struct Node { int a, b, cover; Node() {} Node(int _a, int _b): a(_a), b(_b), cover(0) {} int mid...

2013-07-30 17:26:38

阅读数 790

评论数 0

ural 1073. Square Country

完全背包问题。 #include using namespace std; #define Min(a,b) (a)<(b)?(a):(b) #define MAXN 60010 int main() { int n; int i,j,dp[MAXN]; while(cin&g...

2013-07-30 16:06:50

阅读数 666

评论数 0

Ural 1260. A nudnik photographer(dp)

题目:对1到N这些数进行排列,1在最左边,相邻的两个数之差不能超过2,求有多少种排列方法? 解法:dp[i] = dp[i-1] + dp[i-3] + 1; 解释:对dp[n],有3种情况: 1、12……(dp[n-1]) 2、1324……(dp[n-3]) 3、1357……8642(一种确定的...

2013-07-30 11:00:11

阅读数 766

评论数 0

ural 1864. Get-Together at Den's (坑爹浮点数)

水题一道,要注意两点: 1、题目中分配方式没有说明清楚 2、浮点数下取整的时候要注意,比如4.9999999其实应该是5 #include #include using namespace std; int main() { long double n,arr[107]...

2013-07-29 15:03:11

阅读数 896

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭