摘要: 最终结果为奇数,所以必败点是奇数情况. 因为报下一天或者下一个月都是奇数转换成偶数,或者偶数转换成奇数. 意味这得到的数字是一个奇数,则必败. 有两个特殊情况. 就是 9,30 和 11.30 ,当前都是奇数形式,下一天同样保持奇数形式,但是下个月则变成偶数. 所以在这里可以改变自己面临的 必败局面. 解题代码:View Code #include<stdio.h>int main(){ int T, a,b,c; scanf("%d",&T); while( T-- ) { scanf("%d%d%d",&a,&b, 阅读全文
posted @ 2013-01-06 22:48 yefeng1627 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 题目链接: www.acmore.netProblem A 遍历数组a, 对于每一个元素 a[i], 统计区间 ( a[i], a[i]+d ] 有X个点,则符合条件的为 C(2,X) 累加就可以了解题代码View Code#include<stdio.h>#include<string.h>#include<iostream>#include<algorithm>#include<vector>#include<map>using namespace std;typedef long long LL;const int 阅读全文
posted @ 2013-01-05 18:15 yefeng1627 阅读(182) 评论(0) 推荐(0) 编辑
摘要: POJ动态规划题目列表声明: 1.这份列表当然不是我原创的,从文库里下载了一份,放到这里便于自己浏览和查找题目。 2.经过了半个多月的努力,我总算把POJ搜索题列表里的题目刷的差不多了,这周开始练习动规。 3.红色的是我已经做过并AC的题,多半部分可以在本空间找到题解;蓝色是我做过但是还没有AC的题。※最近更新:Poj斜率优化题目1180,2018,3709列表一:经典题目题号:容易: 1018,1050,1083,1088,1125,1143,1157,1163,1178,1179,1189,1191,1208,1276,1322,1414,1456,1458, 1609,... 阅读全文
posted @ 2013-01-04 22:00 yefeng1627 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 我们根据置换群的性质,知道其经过 K 次置换回到最初位置,此时 K,为N元组的循环因子 a1,a2,...,ai 的最小公倍数。 现在题目要求输入N,求出最大的K,当K情况不唯一,则输出字典序最小,那么题目就转换成将 N 分解成 X个数,其最小公倍数最大的情况了。 这里关于分解N的处理,也是参考一神牛,(再次ORZ一下) 因为 N <= 100 ,我们可以使用 DP 来得到。 F[ i ][ j ] = Max { F[ i ][ j ] , LCM( F[ i-k ][ j ], k ) } 定义 F[ i ][ j ] 表示 和为 i 分解为 j 个数时 的最小公倍数最大的值... 阅读全文
posted @ 2013-01-04 21:50 yefeng1627 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 无聊水水题。发现水题也不水,我勒了去....import java.math.*;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner cin = new Scanner( System.in ); BigDecimal R, c; int n; while( cin.hasNext() ) { R = cin.nextBigDecimal(); ... 阅读全文
posted @ 2013-01-04 17:40 yefeng1627 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 有点无聊,AC水题玩..... 这道题的大致意思: 圆表示一块面积可扩展的区域,开始时,面积是0,在(0,0)处开始以每年50平方米的速度同样呈半圆扩展,输入一个正整数N,然后输入N对坐标,对于每一对坐标值:求出面积扩展到该点的年数,坐标值单位为米。 则年份数为, Pi*( sqrt(x*x+y*y) )^2 / (50*2) 向上取整View Code #include<stdio.h>#include<math.h>const double Pi = 3.1415926;int main(){ int T; scanf("%d",&T); 阅读全文
posted @ 2013-01-04 16:31 yefeng1627 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 若置换循环因子阶数分别为 ( a1, a2, ..., ak ) , 则最少交换次数为 (a1-1)+(a2-1)+...+(ak-1)解题代码View Code #include<stdio.h>#include<string.h>#include<stdlib.h>const int N = 10010;int a[N], n;bool vis[N];int check( int s ){ for(int i = s; i <= n; i++) if( !vis[i] ) return i; return -1;}int main(){ int T 阅读全文
posted @ 2013-01-04 15:00 yefeng1627 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 根据题意,N个编号祭祀,N个房间,每个转盘上有P个数字,且每年保证每个房间有且仅有一个祭祀。 可以转换成 P 个不同的 N元组置换。 其中 为第i天祭祀位置,为第 i 天转盘置换 则 第i天 祭祀所在的房间为 (为什么是先D后T,因为置换的乘法是连接,先后) 题目要求 经过 Y天,得到单位置换, 且总共P个不同的置换所以我们可以得到如下形式: (其中 e 为单位置换) 假设 Y mod p = k , 则可表示成如下形式: 再转换一下: 令 x = (y - k )/ p , , 得到 上式转换成: 对于 , 我们通过预处理得出,然后枚... 阅读全文
posted @ 2013-01-04 14:35 yefeng1627 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 输入 A , B, C, k 设 D = 2^k 则存在 ( x, y ) 使 A + C*x = B ( mod D ) => A + C*x = B + D*y => C*x - D*y = B - A 令 a = C, b = D, c = B-A 则转换成线性同余方程 : a * x + b * y = c 使用扩展欧基里德求解即可解题代码View Code #include<stdio.h>typedef long long LL;LL ExGcd( LL a, LL b, LL &x, LL &y ){ if( b == 0 ){ x... 阅读全文
posted @ 2013-01-03 14:59 yefeng1627 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 给定同余方程组 X = r1 ( mod a1 ) X = r2 ( mod a2 ) ... X = rn ( mod an )求解正整数X, 若不存在输出 -1关于 线性同余方程组求解, 看笔者前一篇博客关于求解方式,模板裸题#include<stdio.h>typedef long long LL;LL ExGcd( LL a, LL b, LL &x, LL &y ){ if( b == 0 ) { x=1;y=0; return a; } LL r = ExGcd( b, a%b, x, y ); LL t = x; x = y; y = t - a/b. 阅读全文
posted @ 2013-01-03 14:40 yefeng1627 阅读(290) 评论(0) 推荐(0) 编辑

Launch CodeCogs Equation Editor