弱没机会去长春,但拿了题来做了,加上请教各路大牛,理论AC了一发,但没实现~(感谢各路有形无形的大牛的指导)

A题~Too Rich

给你1,5,10,20,50,100,200,500,1000,2000这几个数的个数,用最多的数组成和为p。

解:一眼看上去像个贪心题,其实,如果没有20,50,200,500这样怪的数,确实只是一个
简单的贪心题。转换一下题目,求p用最多的数组成,设S是所有数的和,即要求s-p用最少的
数组成。对于60,如果贪心的话,对20,20,20,50而言,很明显会造成无解,那么,怎么
办呢?题目的关键在于20,50,200,500这样的数的转化。
我们发现,如果50,500或者20,200不存在了,这个题也是一个贪心题,那么,是否可以把
它们其中一个消去呢?
假设把50,500消去,即变成50*2=100,500*2=1000,那么,可选的数中就不再存在
50,500了。
注意一种情况是~假设题目中可能会存在一种情况是,至少选了一个50或500后会使得情况更
优,那么,我们枚举这4种情况,分别是00,01,10,11 。于是,题目按照一般贪心可解。

  

B题~Count a * b

定义f(m)为a×bmodm≠0的(a,b)对数,其中0≤a<m,0≤b<m。T(T≤20000)次询问∑d∣nf(d)mod264,1≤n≤109。

解:一种很自然的想法是必须先求解f(m),那么f(m)=m^2-(a,b)中使a*b mod m=0的对
数。定义(a,b)中使a*b mod m=0的对数为h(m)。分析一下,怎么样才能使得
a*b mod m=0呢?设a=ix,b=jy,如果i*j=m的话,那么a*b%m=0,而且gcd(x,j)=1,这是为了避免产生重复计数,有phi(j)。
h(m)=sigma( d*phi(d) )。
发现h(m)其实是一个积性函数,h(pq)=h(p)h(q),
f(m)=m*m-h(m),那么,我们计算所有的m*m的和减去所有h(m)的和即可,那么,怎么才能快速计算所有m*m的和呢?
枚举m乘积所有的素数,可能根据以下式子
(p1^0*2+p1^1*2+p1^2*2+p1*3*2....)*(p2^0*2+p2^1*2+p2^2*2.....)*(.....),
由于h(m)是积性函数,同理可有上面的式子。

  

E题~Rebuild

解:这道题只要确定第一个圆的半径,就可以确定其他圆的半径了。需要分奇偶情况讨论吧,据现场的人说有坑,但弱没机会提交~~

  

F~Almost Sorted Array

解:这道题应该不难,因为只允许去掉其中一个数,我的方法是分两种情况,一种是升序,一种降序,如升序,求它的最长不降子序列>=n-1即可,比较的时候因为只去掉一个数,只需和前两个数比较应该就可以了。

  

G~Dancing Stars on Me

解:一开始也是往凸包想,但后来请教别人才知道,原来可能组成正n边形的只能是n=4的时候,因为坐标都是整数,只能有这一种情况。

  

H~partial tree

这题不懂。看一大牛的博客是用到prufer序列。
http://kuribohg.github.io/2015/10/20/changchun-2015-solution/由Prufer序列可以知道任何一个长度为n−2的序列,其中每个数都不大于n,都可以代表一个合法的树。
考虑一个Prufer序列,可以把它排序,每次在后面添加一个数。
考虑正在添加第i个数,添加的数可以跟前一个数相同,这种情况下假如前面已经有k个数与这个新加的数相同,权值增加f(k+2)−f(k+1)。
否则可以自己新开一段,这种情况权值最大值就是前i−1个形成的权值最大值再加上f(2)−f(1)。
那么就可以DP了,dpi,j表示i个数,序列最后有j个数是相同的,初值dp0,0=n×f(1),转移方程通过上面的分析很容易得到。以上是这位大牛的想法。因为prufer序列最后是n-2个点,所以会剩下一条边。所以,假如前面已经有k个数与这个新加的数相同,权值增加f(k+2)−f(k+1),我开始时以为是f(k+1)-f(k)

  

J~ Chip Factory

首先si不大,因为涉及到异或的操作,这时,我们可以把所有的si都看成是32位的二进制数。这样,可以根所二进制数建立一棵trie树。我们枚举si,sj,把它别从trie树中删除,之后再在trie中枚举sk,这时,求出si+sj,枚举当前位,如果是0,则应当往trie中是1的一方走,如果1不存再往0的走。如果当前位是1同样处理。再把si,sj插入回到trie树中。这样求出最大值。

  

转载于:https://www.cnblogs.com/jie-dcai/p/4908988.html

2015 Changchun Regional相关推荐

  1. HDU 4430 amp; ZOJ 3665 Yukari#39;s Birthday(二分法+枚举)

    主题链接: HDU:http://acm.hdu.edu.cn/showproblem.php?pid=4430 ZJU:http://acm.zju.edu.cn/onlinejudge/showP ...

  2. hdu 5444 Elven Postman(根据先序遍历和中序遍历求后序遍历)2015 ACM/ICPC Asia Regional Changchun Online...

    很坑的一道题,读了半天才读懂题,手忙脚乱的写完(套上模板+修改模板),然后RE到死-- 题意: 题面上告诉了我们这是一棵二叉树,然后告诉了我们它的先序遍历,然后,没了--没了! 反复读题,终于在偶然间 ...

  3. 2015 ACM/ICPC Asia Regional Changchun Online题解

    以下所有AC题解程序来自"仙客传奇"团队. AC题数:7/13 ABEGHJL A. Alisha's Party AC的C++语言程序: #pragma warning(disa ...

  4. 2015 ACM/ICPC Asia Regional Shenyang Online题解

    以下所有AC题解程序来自"仙客传奇"团队. AC题数:7/13 ABCFGJL A. Traversal AC的C++语言程序: #include <bits/stdc++. ...

  5. 2015-2016 Northwestern European Regional Contest (NWERC 2015)

    题目链接  Codeforces_Gym_101485 Problem A 直接用优先队列进行贪心即可 1 #include<iostream> 2 #include<cstdio& ...

  6. HDU - 5493 Queue 2015 ACM/ICPC Asia Regional Hefei Online(线段树)

    按身高排序,每个人前面最高的人数有上限,如果超出上限说明impossible, 每次考虑最小的人,把他放在在当前的从左往右第k+1个空位 因为要求字典序最小,所以每次k和(上限-k)取min值. 没有 ...

  7. 2015 ACM/ICPC Asia Regional Hefei Online题解

    以下所有AC题解程序来自"仙客传奇"团队. A. Monitor the Alpacas B. The Relationship in Club C. Difference of ...

  8. HDU 5476 Explore Track of Point 几何题 —— 2015 ACM/ICPC Asia Regional Shanghai Online

    题目见HDU 5476 给出等腰三角形ABC,AB=AC,M为BC中点.P点为三角形内使min{∠MPB+∠APC,∠MPC+∠APB} 最大的点.求P点轨迹. 则容易找到中线AM上的P点都满足使得∠ ...

  9. HDU 5468 Puzzled Elena(2015 ACM/ICPC Asia Regional Shanghai Online)

    题目大意 这道题要求出每个节点与其子树节点中有多少个节点互质,题目是这样,但是如果你认为真的是这样那就错了,因为有可能根节点是1,那么1与本身也是互质的!!其实我真的搞不懂,说好了与子树互质为什么就把 ...

  10. Regional 做题记录 (50/50)

    写在前面 博主深感自己太弱了QAQ 于是有了一个刷水的想法,Regional的题目还是有很多考查思维的题目,所以这次是乱做50道思考题,可能会顺带做一些水题,这些题的简要题解会写到这篇博文里面,希望能 ...

最新文章

  1. Nature论文解读:深度学习助力毫秒之间识别癌细胞
  2. 233. Number of Digit One
  3. Rust核心团队前成员Brian Anderson加入PingCAP
  4. 组件php53 php55区别,分享下php5类中三种数据类型的区别
  5. php当前完整url的写法
  6. Centos 7 密码重置
  7. 三维点云学习(1)上-PCA主成分分析 法向量估计
  8. 鸿蒙os 实测,鸿蒙体验怎么样_鸿蒙OS实测体验
  9. Python爬虫入门教程 42-100 爬取儿歌多多APP数据-手机APP爬虫部分
  10. c++语言杨辉三角,杨辉三角 (C++代码)
  11. 信任危机在蔓延,会不会产生雪崩效应
  12. Matlab提示Ill-conditioned covariance created at iteration
  13. 如何利用PDF编辑软件将pdf文字修改
  14. 因违反《竞业协议》,三年白忙活了!赔偿 97.6 万元,返还 15.8 万元
  15. 前后端项目的糅合模式mashup
  16. c语言 遍历搜索文件夹(获取文件夹中所有内容)
  17. 项目训练营模块学习---Oled屏幕
  18. Linux-dd命令
  19. 达内2016前端开发知识点总结--ajax php mysql--9天
  20. 基于jquery的五子棋单机版

热门文章

  1. InnoDB 行格式
  2. vs binsum
  3. hadoop在ubuntu上的安装流程
  4. 算法学习笔记(六) 二叉树和图遍历—深搜 DFS 与广搜 BFS
  5. 如果在文档已完成加载后执行 document.write,整个 HTML 页面将被覆盖
  6. [导入]一个asp中关于execute的测试
  7. Microsoft Updater Application Block 1.4.3 KeyValidator类设计 [翻译]
  8. Chrome调试vue项目时session异常,后端tp6 session使用异常
  9. 前端解析ipa、apk安装包信息 —— app-info-parser
  10. 第一次接触WebSocket遇到的坑以及感受