我自己写了一个gcd TL了,然后调用了math里面的gcd,AC了、、、
思路:就是拿n前面的最小公倍数和n求 1~n的最小公倍数
代码:
import java.util.Scanner;
import java.math.*;
public class Main{
public static void main(String[] args){
Scanner cin = new...
分类:
编程语言 时间:
2014-10-09 03:17:08
阅读次数:
233
之前在BZOJ群里请教了下各位神牛。。大概都得出了需要按某个端点排序。。首先把一开始就不合法的人(即a+b>=n的人删除),然后得出每个人的排名范围:(b,n-a]考虑dp[i]表示前i个人中最多有多少个人没说谎按n-a从小到大排序,则n-a的顺序满足dp的拓扑序,当i取得n-a的时候,寻找区间相同...
分类:
其他好文 时间:
2014-10-09 02:15:08
阅读次数:
206
1406: [AHOI2007]密码箱Time Limit:5 SecMemory Limit:64 MBSubmit:701Solved:396[Submit][Status]Description在一次偶然的情况下,小可可得到了一个密码箱,听说里面藏着一份古代流传下来的藏宝图,只要能破解密码就能...
分类:
其他好文 时间:
2014-10-09 01:05:17
阅读次数:
207
题目说了a的范围小于10^9次方,可实际却有超过的数据。。。真是醉了算出以f[i]结尾的所有可能GCD值,并统计;f[i]可以由f[i-1]得出./* 递推算出所有GCD值,map统计*/#include #include #include using namespace std;#de...
分类:
其他好文 时间:
2014-10-09 00:19:47
阅读次数:
243
题目大意:有一些骑士,他们每个人都有一个权值。但是由于一些问题,每一个骑士都特别讨厌另一个骑士。所以不能把他们安排在一起。求这些骑士所组成的编队的最大权值和是多少。
思路:首先貌似是有向图的样子,但是一个人讨厌另一个人,他们两个就不能在一起,所以边可以看成是无向的。
n个点,n条无向边,好像是一颗基环树。但其实这是一个基环树林,因为题中并没有说保证图一定联通。
然后就可以深搜了,处理...
分类:
其他好文 时间:
2014-10-08 17:19:05
阅读次数:
265
题目大意:给定n个物品,分给m个人,每个人拿到wi个礼物,问方案数mod P P不一定为质数
首先我们把剩下的礼物也分给一个人 答案明显不变 w[++m]=n-w1-w2-...-wm
然后就会很方便地得到公式:
ans=C(n,w1)*C(n-w1,w2)*C(n-w1-w2,w3)*...*C(n-w1-w2-...-w_(m-1),wm) mod P
=n!/w1!/w...
分类:
其他好文 时间:
2014-10-08 15:34:15
阅读次数:
272
题目大意:有一个格子组成的图,如果三个人在一条直线上,那么第一个人会看不到第三个人。现在有一个人站在(1,1)上,问他能看到n*n的矩阵中的多少人。
思路:若是想让站在(1,1)的这个人看到一个站在(x,y)的一个人,必须满足gcd(x,y) == 1,这是一个经典的模型,只要求出n以内phi的和就可以了。方法就是线性筛。
CODE:
#include
#inclu...
分类:
其他好文 时间:
2014-10-08 14:02:35
阅读次数:
257
题目大意:给定整数N(N
思路:推一推。
设gcd(x,y) = p,则x / p与y / p互质
问题就转化成了N / p中有多少个数互质,然后累加就可以了.
=>对于任意a,b,a
=>gcd(a,b) == 1
现在问题就很明显了,看到这个形式就很容易想到欧拉函数,求一下phi,算一下前缀和,累加。
注意这里求欧拉一定要线性的,1qw的数据,nloglogn都很悬。...
分类:
其他好文 时间:
2014-10-08 12:45:35
阅读次数:
234
注意到每个区间生存下来的蚂蚁的长度等于区间的gcd于是可以先预处理出区间的gcd然后二分查找就好了预处理gcd我这里用的是倍增法总的时间复杂度O(NlogN)/* Cf 271F 倍增求区间GCD 对下标二分 时间复杂度O(NlogN)*/#inclu...
分类:
其他好文 时间:
2014-10-08 00:08:34
阅读次数:
214
dispatch group是GCD的一项特性,能够把任务分组,调用者可以等待这组任务执行完毕,也可以在提供回调函数之后继续往下执行,这组任务完成时,调用者会得到通知。这个功能有多个用途,其中最重要,最值得注意的用法,就是把将要并发执行的多个任务合为一个组,于是调用者就可以知道这些任务合适才能全部执...
分类:
其他好文 时间:
2014-10-07 17:29:43
阅读次数:
242