![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
山东省第八届ACM大学生程序设计竞赛
但求-_-心安
充满鲜花的世界到底在那里,如果他真的存在那么我一定会去。
展开
-
"浪潮杯”山东省第八届ACM大学生程序设计竞赛 CF
01背包要用到贪心,这个贪心好像做过,又好像没做过,可能当时抄的百度吧。就是这个01背包的价值是变化的,所以要先放最值得放的。开始怎么都想不通,这样想如果都能做出来,而且每个都会是正分,先做那个?肯定是时间少,掉分多的。所以用x[i].b/x[i].c从大到小排序。然后01背包,这个动态的01背包必须确认放东西的先后顺序,如果是静态的可以无所谓。。。动态必须确定先后顺序,这个位置的差别,最原创 2017-05-09 18:45:28 · 1681 阅读 · 0 评论 -
“浪潮杯”山东省第八届ACM大学生程序设计竞赛 sum of power
#include using namespace std;int mod=1e9+7;int main(){int n,m;scanf("%d%d",&n,&m);long long ans=0;for(int i=1;i<=n;i++){ long long tmp=1; for(int j=1;j<=m;j++) tmp*=i,tmp%=mod原创 2018-04-24 17:45:08 · 384 阅读 · 0 评论 -
“浪潮杯”山东省第八届ACM大学生程序设计竞赛quadratic equation
再回首依旧难受。#include using namespace std;int mod=1e9+7;int a,b,c;int main(){ int t; scanf("%d",&t); while(t--) { scanf("%d%d%d",&a,&b,&c); if(a==0&&b==0) {原创 2018-04-24 18:58:32 · 225 阅读 · 0 评论 -
“浪潮杯”山东省第八届ACM大学生程序设计竞赛 company
sort排序#include <bits/stdc++.h>using namespace std;int mod=1e9+7;long long ans;struct node{ long long val,cnt;}a[1005];bool cmp(node b,node c){ return b.val>c.val;}int main()...原创 2018-04-24 19:16:59 · 265 阅读 · 0 评论 -
“浪潮杯”山东省第八届ACM大学生程序设计竞赛Parity check (大数)
import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while(in.hasNext原创 2018-04-24 19:35:17 · 206 阅读 · 0 评论 -
“浪潮杯”山东省第八届ACM大学生程序设计竞赛fireworks (组合数)
坑的一笔,用lucas生成组合数,老是错,后来看别人都用逆元生成,就用了逆元,发现逆元确实快的惊人。还是没认真思考复杂度,看到lucas就想套模板,根本没去想复杂度。#include using namespace std;const int maxn = 1e5+7;int mod = 1e9+7;typedef unsigned long long LL;LL jie[11000原创 2018-04-24 20:40:23 · 302 阅读 · 0 评论 -
2017山东省第八届ACM省赛 D. HEX(组合数学)
思路:可以算出从(1,1)到(x,y)最多走tot= x-1步,最多向左下走l = x-y步,向右下走r = tot - l步,向下走一步相当于走1步左下,1步右下。则向下走的步数最多为m = min(l,r)步。枚举向下走的步数i,则向左下走l-i步,向右下走r - i步。那么不同的走法就是向下走,向左下和向右下走的全排列,即 (i + l - i + r - i)!/ (i! * (l - i...原创 2018-04-25 20:46:55 · 323 阅读 · 0 评论