摘要: 题意:1.p不是素数 2.(a^p)%p=a 输出yes 不满足输出no 思路: bool is_prime(int n) { for(int i=2;i*i<=n;i++) if(n%i==0) return false; return n!=1;} 2.(a^p)%p快速幂 注意大数快速幂要传入 阅读全文
posted @ 2018-08-02 15:55 徐小晋 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 题意:给出A1,…,AH,B1,…,BH以及M,求(A1^B1+A2^B2+ … +AH^BH)mod M. 思路:快速幂 实例 3^11 11=2^0+2^1+2^3 =》 3^1*3^2*3^8=3^11 实现代码: int solve(int a,int b) { int ans=1; whi 阅读全文
posted @ 2018-08-02 15:50 徐小晋 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 题意:给一个字符串,构成回文(空也是回文) 其中增删都需要代价。问:代价最少? 思路:把字符串s变空 dp[i][j]表示变成回文的最小代价 for(i=m-1;i>=0;--i) for(j=i+1;i<w;j++)lsdjfl dp[i][j]=min(dp[i+1][j]+cost[s[i]- 阅读全文
posted @ 2018-08-02 15:11 徐小晋 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 题意:硬币分别有 A1.....An种,每种各有C1......Cn个,问组成小于m的有多少种 思路:多重背包问题 dp[i][j]表示用前i种硬币组成j最多剩下多少个 dp=-1的表示凑不齐 dp[0][0]=0; for(int i=0;i<n;i++) for(int j=0;j<=m;j++ 阅读全文
posted @ 2018-08-02 14:08 徐小晋 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 题意:奶牛产奶,农夫有m个时间段可以挤奶,在工作时间 f t 内产奶量为m,每次挤完奶后,奶牛需要休息R。问:怎么安排使得产奶量最大? 思路:区间dp dp[i]表示第i个时段 解决问题的代码: 阅读全文
posted @ 2018-08-02 13:53 徐小晋 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 题意:有树1 树2 会掉苹果,奶牛去捡,只能移动w次,开始的时候在树1 问最多可以捡多少个苹果? 思路: dp[i][j]表示i分钟移动j次捡到苹果的最大值 实例分析 0,1 1,2...说明 偶数在树1 奇数在树2 for (int i = 1; i <= n; i++) { scanf("%d" 阅读全文
posted @ 2018-08-02 13:43 徐小晋 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 题意:一个n可以拆成 2的幂的和有多少种 思路:先看实例 1 1 2 1+1 2 3 1+1+1 1+2 4 1+1+1+1 1+1+2 2+2 4 5 1+1+1+1+1 1+ 1+1+2 1+2+2 1+4 解决问题的代码: 阅读全文
posted @ 2018-08-02 13:35 徐小晋 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 题意:给一个三角形形状的数字,从上到下,要求数字和最大 思路 :dp 对上面思路的解释: 对于每个位置都是由上面一个位置加当前位置的最大值组成,所以有了上面的递推公式 解决问题的代码: 阅读全文
posted @ 2018-08-02 13:29 徐小晋 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 题意:n台电脑,当两台之间的距离小于d的时候可以连接。 题目会进行操作“修复”还有“查询是否已经连接”。只要在查询的时候输出YES或者ON 思路: 解决问题的代码: 阅读全文
posted @ 2018-08-02 13:20 徐小晋 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 题意:每头奶牛需要涂抹防晒霜,其中有效的范围 min~max ,现在有L种防晒霜,每种防晒霜的指数为 f 瓶数为 l,问多少只奶牛可以涂上合适的防晒霜?思路: 优先队列+贪心 思路解释:min<f时表示可以访问, 取max与f进行比较,因为先前对f进行排序,所以数小的在前面,这样可以做到不浪费 解决 阅读全文
posted @ 2018-08-02 13:10 徐小晋 阅读(106) 评论(0) 推荐(0) 编辑