数学
文章平均质量分 58
DrCarl
重庆大学acm-icpc集训队队员
展开
-
ZOJ 3593 One Person Game 【带简单处理的扩展欧几里得】
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3593题意:给定一维坐标的出发点的终点,每次可以向左或向右走a,b或a+b的距离,问是否可达,如可达求最小步数分析:这种每步有多种决策,初始感觉可能是DP,然而这个数据大小已经覆盖了整个int的大小,dp显然不现实。考虑到最终总是要求最小步数,某个对于a,b原创 2016-04-18 20:53:51 · 797 阅读 · 0 评论 -
HDU 1576 A/B 【带简单处理的扩展欧几里得】
题目链接:求解思路:从A一定是B的倍数入手,令A=k*9973+C,那么k*9973+C=tB,所以tB-k*9973=C,用扩展欧几里得求出最小的正t即是A/B,那么再去一次模就求得了解AC代码://HDU-1576 A/B//AC 2016-4-19 19:54:46//extent Euclid#include #include #include #i原创 2016-04-19 20:00:36 · 396 阅读 · 0 评论 -
UVA 253 Cube painting 【数学】
题目链接题意给一个正方体各个面图上色,让后再给一个涂过色的正方体,问后者是不是前者旋转而来的。分析对于同一个正方形,如果确定了两个面,就确定了一个它的各个面。那么让通过旋转枚举各个面分别成为正面的情况,再旋转四个侧面确定顶面,就可枚举出所有情况(共6×4=246\times4=24种情况) 为方便枚举,用数组记录置换来模拟旋转(如代码)AC代码//UVA 253 Cube painting//2原创 2016-07-20 20:22:38 · 406 阅读 · 0 评论 -
HDU 5726 GCD 【GCD】【ST表+二分】【线段树+暴力枚举】
题意给一串数列,求区间GCD和整个数列中与该区间GCD相等的区间数分析首先区间GCD易求,用能求RMQ的方法都可以,比如ST表、线段树。关键是如何求第二个问题,这里有两种做法: 方法一 利用GCD的性质,若固定区间左端点,增大右端点,区间GCD必然非递增。因此我们可以遍历区间左端点,用二分求出以该端点起始的区间的所有gcd的情况及其对应的区间个数,并用map记录。该过程复杂度可近似看做O(nlo原创 2017-01-17 19:35:18 · 388 阅读 · 0 评论 -
CodeForces-450E Jzzhu and Apples 【数学+贪心构造】
题意将1到n的数分成不互质的数对,问最多能分出多少对?分析贪心构造,先打出小于等于n的所有素因子,从最大的素因子开始(因为越大的因子,在数列中的倍数越少),两两匹配其倍数。若刚好是奇数个,则将其2倍留下,因为若能匹配出至少一对,其二倍必在数列中,同时,其二倍除了其本身以外必然只有2这个因子,最后组合2的倍数时,必然可以将其考虑进去。AC代码//CodeForces 450E//AC 2017-1-原创 2017-01-19 10:41:22 · 478 阅读 · 0 评论 -
CodeForces 449D Jzzhu and Numbers 【DP+容斥】
题意给定一个n元集,元素为aia_i,求其有多少个子集,使得其中的元素ai1,.....aika_{i1},.....a_{ik}满足 ai1&ai2&⋯&aik=0 a_{i1}\& a_{i2}\& \cdots \& a_{ik} = 0 (1⩽n,a⩽106) (1 \leqslant n,a \leqslant 10^6)分析要是n和a的范围小一些自然可以直接用01背包做,然而这里a与原创 2017-01-19 15:06:50 · 1034 阅读 · 0 评论