首页 > 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_RenPOJ-2763 Housewife Wind
Housewife Wind 树链剖分 利用树中每个点都只有一个父节点的性质,将边权化为点权,然后树链剖分 LCA,套一个线段树维护权值 注意在同一链的时候,LCA 的点权是不计算在内的 这题卡时间卡的很紧,如果 TLE,尝试改成 scanf printf #include <iostream> #include <cstdio> #include <algorithmPOJ - 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 coloredPOJ - 1321 棋盘问题 【dfs】
题目简述 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。 数据范围 \(n <= 8,k <= n\) 简答 类似于八皇后问题,直接爆搜即poj 1830 开关问题
题目传送门 1、描述 有一些开始状态的开关,题目让我们操控开关,使得开关从开始状态变成指定状态。 注意,当你操作一个开关,其关联的开关也会被操控。例如输入样例一,开始状态为\(000\)的三个开关,你要操作使其变成\(111\)。那么有以下四种方法: 只打开开关\(1\),\(2\) \(and\) \(3\)和\(1POJ 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) #defiPOJ-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> usingPOJ-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> #inPOJ-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 Trpoj 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 >> cPOJ 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 nuPOJ 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.