首页 > TAG信息列表 > poj

POJ 1995 Raising Modulo Numbers 【Solution】(快速幂)

[原题传送门](http://poj.org/problem?id=1995) 题目大意 先给定n组数据, 每组先给定m为模数, 再给定h组号码ai与bi, 输出每组数据处理的结果 题解 a^b的大小把握不住,从以下几点出发 1.考虑到求模公式:(ab)%p=(a%p)(b%p)%p 证明如下: 令a=k1p+r1,b=k2p+r2; 则(ab)%p=(k1k2pp+k1r2p+k2r1p+

洛谷 P4178 / POJ 1741 Tree

洛谷传送门 POJ 传送门 一眼点分治。 当递归到结点 \(u\) 时,计算出子结点 \(v\) 的子树内,所有结点和 \(u\) 的距离。然后与之前的合并并计算答案即可。使用树状数组,时间复杂度 \(O(n \log n \log k)\),空间复杂度 \(O(n + k)\)。 code /* p_b_p_b txdy AThousandSuns txdy Wu_Ren

POJ-2763 Housewife Wind

Housewife Wind 树链剖分 利用树中每个点都只有一个父节点的性质,将边权化为点权,然后树链剖分 LCA,套一个线段树维护权值 注意在同一链的时候,LCA 的点权是不计算在内的 这题卡时间卡的很紧,如果 TLE,尝试改成 scanf printf #include <iostream> #include <cstdio> #include <algorithm

POJ - 3279 Fliptile 【状态压缩、dfs】

题目简述 Farmer John knows that an intellectually satisfied cow is a happy cow who will give more milk. He has arranged a brainy activity for cows in which they manipulate an M × N grid (1 ≤ M ≤ 15; 1 ≤ N ≤ 15) of square tiles, each of which is colored

POJ - 1321 棋盘问题 【dfs】

题目简述 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。 数据范围 \(n <= 8,k <= n\) 简答 类似于八皇后问题,直接爆搜即

poj 1830 开关问题

题目传送门 1、描述 有一些开始状态的开关,题目让我们操控开关,使得开关从开始状态变成指定状态。 注意,当你操作一个开关,其关联的开关也会被操控。例如输入样例一,开始状态为\(000\)的三个开关,你要操作使其变成\(111\)。那么有以下四种方法: 只打开开关\(1\),\(2\) \(and\) \(3\)和\(1

POJ 1945 Power Hungry Cows

Description 有两个数a、b,初始值分别为x、1,每次可以将a、b中的一个数与自身或另外一个进行乘、除运算,并将结果保存到a或b,求最少用多少次运算能得到x^P。 (P <= 20000) Analysis 1、广度优先搜索 状态(a,b)代表(x^a, x^b),令a为二者中较大的数,从(a, b)可以转移到8个状态,即(2a, b)、(

poj 3253 Fence Repair

分析:发现越到后面分出去 它对整个答案的贡献加的次数就越多 所以我们想尽可能最小的最后分出去 找到当前最小和次小的删去 两者合并 再加入原序列中 依次这样操作就可 #include<iostream> #include<cstdio> #include<queue> using namespace std; #define lowbit(x) x&(-x) #defi

POJ-0x7f Last Review

  题意:暑假喜提意外实习,暑训去不了了,退役吧。   解:退役可能说得太正式了,毕竟大学决定参加ACM也跟闹着玩似的。打了一年,按理来说也能写点东西回忆一下,也确实写了两段,可能是语文退步太严重,总是词不达意,不如不写。   实习的事二月就定了,但过于震惊自己能过,有点不真实,一直拖啊拖

POJ-2566 Bound Found

Bound Found 给出一个数组,要找到一个连续子序列的和的绝对值最接近给出的k 尺取 这个尺取非常难想到 我们使用尺取的时候讲究的是固定了左端,然后右端一直往右滑动,如果滑动到一个不符合条件的情况,那么后面的情况都不符合。但是由于该数组存在负数的情况,所以显然不符合尺取的条件,考

POJ-3061 Subsequence

Subsequence 找一个最短的区间,使得区间和大于等于s 尺取模板 #include <iostream> #include <cstdio> #include <algorithm> #include <vector> #include <string> #include <queue> #include <functional> #include <map> #include <set>

POJ-2100 Graveyard Design

Graveyard Design 找到所有的区间,使得区间平方和为n 尺取 注意退出的边界 #include <iostream> #include <cstdio> #include <algorithm> #include <vector> #include <string> #include <queue> #include <functional> #include <map> #include <

POJ 1065

POJ 1065 贪心、偏序集、Dilworth定理、最长下降子序列 说到偏序集,在离散里的定义是: 设R为非空集合A上的关系,如果R是自反的、反对称的和传递的,则称R为A上的偏序关系,简称偏序,记作≤。 偏序是在集合X上的二元关系≤(这只是个抽象符号,不是“小于或等于”),它满足自反性、反对称性和传递

POJ 3264 Balanced Lineup

题目传送门 树状数组求最大最小值,一次成型,不能跑两回啊! #include <iostream> #include <string.h> #include <stdio.h> #include <vector> #include <map> #include <queue> #include <algorithm> #include <math.h> #include <cstdio> using

POJ-3104 Drying

Drying 有n件衣服和一个吹风筒,每件衣服有\(a_i\)的潮湿度,每次只能用吹风筒吹一件衣服,如果选择自然风化,则衣服的潮湿度-1,如果选择用吹风筒则潮湿度-k 问最快需要多久能将衣服全部吹干 二分 二分枚举答案,答案的可行性具有单调01分布 直接检查就行,因为使用吹风筒就没有了潮湿度-1,所以

POJ-3579 Median

Median 给n组数,将其两两之差列为新的数列,求这个数列的中位数 二分套二分 很容易想到是二分答案,查看有多少个数小于等于这个答案 抽象的地方在于查询有多少个差小于等于当前的差,通过二分\(a[i]+x\)在原数组的位置来判断,有多少个数 \(y \ge a[i] + x\),从而判断以\(pair(a[i], y)\)的

POJ-3122 Pie

Pie 有f+1个人分n个蛋糕,并且要求每个人分到的蛋糕得是从同一块上切下来的,并且要求每个人分到的蛋糕大小是一样的,问最多能切多大的蛋糕 二分 直接枚举答案,复杂度\(O(nlogn)\) #include <iostream> #include <cstdio> #include <algorithm> #include <vector> #include <string> #in

POJ-3258 River Hopscotch

River Hopscotch 给出n个点,最多能删除m个点,使得两个点之间的最短距离最大,问这个最大距离是多少 二分 直接二分答案,lower_bound,因为最后搜索到的是大的,所以要检查一下是否要减一,或者上界放大一点点,直接-1就行 检查的话就检查当前这个和前面里的最近的没被删掉的点的距离,如果小于当

POJ 3264 Balanced Lineup

题目传送门 本题调试过程中,出现了奇怪的问题: \(G++\) \(AC\) ,\(C++\) \(Complie\) \(Error\) 以后调用\(POJ\),还是老实的\(G++\)吧~ //#include <bits/stdc++.h> #include <iostream> #include <string.h> #include <stdio.h> #include <vector> #include &

POJ-1988-Cube Stacking

题目传送门 一、题目大意 有\(n\)个箱子,初始时每个箱子单独为一列; 接下来有\(p\)行输入,\(M\), \(x\), \(y\) 或者 \(C\), \(x\); 对于\(M\),\(x\),\(y\):表示将\(x\)箱子所在的一列箱子搬到\(y\)所在的一列箱子上; 对于\(C\),\(x\):表示查询箱子\(x\)下面有多少个箱子; 二、解析 本题在

题单:数学

1.burnside 定理,polya 计数法   简单题:   2409 -- Let it Bead (poj.org)   2154 -- Color (poj.org)   1286 -- Necklace of Beads (poj.org) 强烈推荐:   2888 -- Magic Bracelet (poj.org)   2. 置换,置换的运算   简单题   3207 -- Ikki's Story IV - Panda's Tr

poj 1068

1、注意理解题意 2、注意输出格式 代码: #include <cstdio>#include<iostream>#include<vector>using namespace std; int main() { int t; cin >> t; while (t--) { int num; cin >> num; vector<int> vec; while (num--) { int c; cin >> c

POJ 3696 欧拉函数的应用

The Luckiest number Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10897   Accepted: 2769 Description Chinese people think of '8' as the lucky digit. Bob also likes digit '8'. Moreover, Bob has his own lucky nu

POJ 3083 Children of the Candy Corn

题意 给你一个迷宫,要求输出靠左墙走,靠右墙走和最短的路径长度。 分析 最短的路径直接bfs就行了,就不多哔哔了。 因为题目保证S与E将始终位于迷宫边缘之一,而不是角落,所以我们可以确定他面朝的方向。 靠左墙走即先考虑他面朝方向的左边,如果不行,就顺时针遍历一下,找到最早的可行的方向

POJ 2586 Y2K Accounting Bug

题面 Accounting for Computer Machinists (ACM) has sufferred from the Y2K bug and lost some vital data for preparing annual report for MS Inc. All what they remember is that MS Inc. posted a surplus or a deficit each month of 1999 and each month when MS Inc.