11 2015 档案
摘要:题意:给定一个n,让求一个M,它是n个倍数并且在k进制之下 M的不同的数字最少。思路:这里用到一个结论就是任意两个数可以组成任何数的倍数。知道这个之后就可以用搜索来做了。还有一个问题就是最多找n+1个数,因为由鸽巢原理,这n+1个数当中模上n一定有一个一同的。所以他们一减就是答案。如果找到直接是它的...
阅读全文
摘要:题意:给定n个建筑物,每个建筑物都有两个属性w, s,每个建筑物都有一个PDV =(Σwj)-si 。意思就是它上面的所有的w相加减去它的s,让求怎么放置这个建筑物使得每个建筑物当中PDV最大的最小。思路:贪心。关键步骤就是怎么排序的问题假设考虑两个建筑物,分别为w1, s1, w2, s2; 假设...
阅读全文
摘要:题意:给定三种操作 1. add x 向序列中添加x,添加之后序列还保持有序 2. del x 删除序列中值为x的元素 3. sum 求下边模5等于3的元素和思路:直接暴力也可以过,就是看暴力写的好不好了。用数组直接暴力可过。暴力代码:#include #include #include us...
阅读全文
摘要:题意是给定n个点,让求找到一个点p使得sigma( (a[i] - p) ^ 2 ) 最小,其中a[i]表示第i个点的位置。其中有k个点不用算。思路:发现这道题其实就是求n-k个点方差。那么推一下公式就是:sigma( (a[i] - p)^ 2 ) = sigma( a[i]^2 + p^2 - ...
阅读全文
摘要:动态规划题:dp[i][j]表示有i个Cake,给了Alice j个,先按照b排序,这样的话,能保证每次都能成功给Alice Cake,因为b从大到小排序,所以Alice选了j个之后,Bob最少选了j个,所以i>=2*j, 并且每次Alice选的时候Bob已经选过了。所以当i>=2 * j的时候Al...
阅读全文
摘要:这个公式推导过程是看的这位大牛的http://blog.csdn.net/bigbigship/article/details/49123643扩展欧几里德求模的逆元方法:#include #include #include using namespace std;typedef long long...
阅读全文
摘要:我们都知道除法不满足取模,那么我们可以求模的逆元来进行求结果,既然乘法可以取模,如果这个数除以一个数,那么我们可以让他乘以一个数使得和除以那个数的结果相同,那么乘的这个数就是那个数的乘法逆元。下面摘自Acdreamer的博客今天我们来探讨逆元在ACM-ICPC竞赛中的应用,逆元是一个很重要的概念,必...
阅读全文
摘要:这个题目用贪心来做,关键是怎么贪心最小,那就是排序的问题了。加入给定两个数a1, b1, a2, b2.那么如果先选1再选2的话,总的耗费就是a1 + a1 * b2 + a2; 如果先选2再选1,总的耗费就是a2 + a2 * b1 + a1.这时比较两个数的大小,发现两边都有a1+a2,所以只是...
阅读全文

浙公网安备 33010602011771号