关闭

2018招商银行笔试题——团建活动

题目大意:一排人站成一队,共有n个人,每个人有各自的身高,用一个数组表示。然后AB两个人参与游戏,每次可以从队伍最左侧选择一个或者两个人加入自己的队列,最后将两人的队列的人的身高总和进行比较,总和大的人获得胜利,A先手,且A和B每个人都足够机智(每手都是最优),求A是否可以必胜。 首先这题只是看上去像个博弈,但是由于每个人的身高不同(题目并没有给出身高范围,理论上可以出现一个人顶其它人总和的情况...
阅读(233) 评论(0)

2018京东校招笔试题-数据分析岗

题目大意是给出一个数字n,问a^b=c^d(1 首先分析题目,n的数据范围肯定是不能暴力的,从其他同学的反馈也表示这题暴力只能过20% 此题的规律在于,以一个较小的数字a当基底 将 a^p 和 a^q(设为m,n)当做新的底来计算m^c=n^d(m、n 比如4(2^2)和8(2^3),此时需要计算2和3的最小公倍数,然后再计算在幂指数不超过n的情况下满足4^c=8^d的式子的个数 比如从2...
阅读(336) 评论(0)

Scikit-Learn模块学习笔记——数据集模块datasets

转自他人博客 scikit-learn 的 datasets 模块包含测试数据相关函数,主要包括三类: datasets.load_*():获取小规模数据集。数据包含在 datasets 里datasets.fetch_*():获取大规模数据集。需要从网络上下载,函数的第一个参数是 data_home,表示数据集下载的目录,默认是 ~/scikit_learn_data/。要修...
阅读(176) 评论(0)

J. City traffic tarjan缩点 11TH BUPT Collegiate Programming Contest

题目描述 Now there are n cities and m unidirectional roads, which means if there is a road from a to b, then you can only travel from a to b but never b to a. At first, no two cities can reach...
阅读(159) 评论(0)

hackerrank-----Bear and Steady Gene

题意很简单,给一个最大为50w长度的字符串,字符串只由ACGT四种字符组成,求修改一段最短的连续子串使得ACGT各占整个字符串的四分之一。 50w的长度很明显要用O(n^2)以下的复杂度,我的想法是O(n)的如下: 字符串长度为len,单个字符的个数限制为limit=len/4 需要修改的最短连续字符串要么是在最左端 要么是右端  要么是中间 1、首先先从右端遍历字符串,一次把每位的字符加...
阅读(164) 评论(0)

HDU-1106 排序

最近在学java,用java刷刷水题,发现有道提交过却没A的水题,于是做了一下。 #include #include #include #include #include using namespace std; int len; int cnt; __int64 ans[1111]; char str[1111]; int getnum(int k){ __int64 num...
阅读(101) 评论(0)

HDU-2577 How to Type DP

字符输入问题,刚开始没有考虑到shift+字符输入和当前大小写锁定状态相反状态字符只需要两步的问题。 状态转移方程:dp1[i]表示输入完第i个字符后为大写状态需要的步数 dp2[i]表示输入完第i个字符后为小写状态所需要的步数 如果第i个字符为小写: dp1[i]=min(dp1[i-1]+2,dp2[i-1]+2); dp2[i]=min(dp1[i-1]+2,dp2[i-1]+1);...
阅读(520) 评论(0)

HDU-1025 Constructing Roads In JGShining's Kingdom O(nlogn)的最长上升子序列

模板题,唯一问题是当长度为1是,road是单数,不然road是复数roads。 #include #include #include #include #include #include #include #include using namespace std; const int maxn=1021000; struct node { int r; int b...
阅读(505) 评论(0)

HDU-4628 Pieces 状压DP

给出一行字符串,每次可以删去一个回文子串,子串可以是不连续的,因此用状压比较好模拟,求删掉整个字符串需要的最少步数。 字符串的最大长度为16,因此不能逐行枚举状态,首先预处理出来所有的的回文子串,然后从第一步开始,依次状压第i步能到达的状态,如果能达到母串,跳出。 还有初始化不要用图省事用memset。。不优越的姿势+函数导致T了数发。 #include #include #includ...
阅读(577) 评论(0)

Hdu-4632 Palindrome subsequence DP

给出一个字符串,问它有多少个回文字串...
阅读(343) 评论(0)

HDU-4438 Hunters 期望 水

最近在复习概率DP求期望,顺便做一下。 分成第二个人选择老虎或者狼的情况。 然后 s1+=q*(p)*(p)*(x+y)+q*p*(1-p)*x+q*(1-p)*p*y;//老虎 且第一个人选择老虎的期望 s1+=(1-q)*x;//老虎 且第一个人选择狼的期望 求一下取大的输出就好。...
阅读(611) 评论(0)

HDU-5053 the Sum of Cube 签到到到到~

纯签到题,A到B所有数字的立方的和。 #include #include #include #include #include #define LL long long using namespace std; LL a,b; LL sum; int main() { int t; scanf("%d",&t); int cas=1; while(t--) { sum=0...
阅读(315) 评论(0)

HDU-5045 Contest 状态压缩DP求期望

N个人,M道题,M个小时,每个人做一道题需要1个小时。给出一个N*M的矩阵代表每个人做对每道题的概率。然后要求在任何时刻,任意两个人的敲题时间差不能大于1,也就是说,m道题要分成多段长度为n的最优排列,n为10,2^10=1024 1024*1000  状压即可。 #include #include #include #include #include #include #inclu...
阅读(782) 评论(0)

HDU-4961 Boring Sum STL模拟

给出一个序列A,对于A里面的每个元素,左边最近的能被它整除的元素记为B序列对应位置的,右边最近的是它的整数倍的元素记为C序列对应位置,找不到的记它本身,最后算出对应位置B*C的总和。 容器模拟,按顺序扫一遍,每次如果有符合条件的取出来,即为最近的。最后把它的下标放到对应位置的容器中,然后倒序求一遍,最后求和。 #include #include #include #include #i...
阅读(601) 评论(0)

HDU-5025 2014广州网络赛 Saving Tang Monk 状压+BFS

给出一个N*N的矩阵,开启牢门需要收集齐m种钥匙,且必须收集了前i-1种钥匙才能收集第i种钥匙,最终收集齐了回到关押唐僧的房间拯救唐僧,经过一个'S'的房间时需要额外耗时把蛇打死,蛇最多5条,所以状压一下用优先队列BFS求最小时间即可。 #include #include #include #include #include #include #include #define in...
阅读(686) 评论(0)

ZOJ-3581 A Simple Test 模拟连连看

n*m的矩阵,其中有k个格子是有图案的,q个询问,如果每次询问的两个格子上都有图案,且可以通过最多变相两次到达(路上不能有其他有图案的格子),这两个格子的图案并得到两分,否则-1分。 其实仔细想想就是连连看的游戏模式,比赛中觉得搜索太暴力会T没敢尝试,结果其实暴力写法也才80ms就过了。 直接暴力模拟能不能满足条件就可以了。 #include #include #include #in...
阅读(672) 评论(0)

HDU-5000 Clone 鞍山网络赛D题 DP+猜想

一个人可以克隆出自己克隆体,一个克隆体有n个方面,如果一个克隆体全方面逊色于另外一个克隆体,那么它就无法存活下去,问怎样可以同时最多存活的克隆体数目。思路:得到最大值的时候,每个克隆体的属性之和必然是相同的,并且这个和是所有方面最高属性和的二分之一。问题就变成n个数组成sum/2的方案数。 #include #include #include #include #include #in...
阅读(664) 评论(2)

HDU-5014 Number Sequence 最大异或和

每个数想要得到最大的异或值,就肯定是在二进制上是互补的,所以暴力找出互补的数。 #include #include #include #include #include #include #define LL long long using namespace std; int a[110000]; int n; int link[110000]; int bit(int n) { ...
阅读(620) 评论(2)

HDU-5011 Game 博弈

n堆珠子,每次选一堆至少取一个,然后可以选择是否把这堆剩下的分为任意的a,b两部分,谁先取完谁赢,问先手的是否能获胜。 #include #include #include #include #include #include using namespace std; int n; int main() { int x; int ans; while(scanf("%d",&n...
阅读(645) 评论(2)

HDU-5001 Walk 2014年鞍山网络赛E题

依次枚举每个不能走过的点,DP递推下一步情况,求出所有其他点的概率之和即为这个点不会被走过的概率。 #include #include #include #include #include #include #include #include #include #define LL long long #define inf 1<<29 using namespace std...
阅读(941) 评论(2)
132条 共7页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:62194次
    • 积分:1865
    • 等级:
    • 排名:千里之外
    • 原创:130篇
    • 转载:2篇
    • 译文:0篇
    • 评论:15条
    最新评论