fl

CSPS模拟88-91

倖福魔咒の 提交于 2019-12-02 16:46:39
感觉自己好菜啊,考得一次不如一次了。。。压力好大,++滚粗感。 模拟88。 T1,sbt,发现离散化后数据范围变为6000,直接跑暴力即可。%%%机房众神斜率优化。 T2,大模拟,考场上只会乱搞骗分。本人菜鸡,只会大力分类讨论。。。 1 #include<bits/stdc++.h> 2 using namespace std; 3 const double eps=5e-5; 4 double f[100][100],f1[100][100],f2[100][100]; 5 double dp[110][10][10][10][10]; 6 double ans[6][10]; 7 int a[6][10],tt[10]; 8 int n; 9 char s1[20],s2[20],s3[20]; 10 double gg; 11 inline void prans(int id) 12 { 13 double gg=1.0; 14 memset(ans,0,sizeof(ans)); 15 for(int j=1;j<=8;++j) 16 for(int k=1;k<=8;++k) 17 for(int o=1;o<=8;++o) 18 for(int l=1;l<=8;++l) 19 { 20 gg-=dp[id][j][k][o][l]; 21 ans[1][a[1][j]

32-33 考试总结

只谈情不闲聊 提交于 2019-12-02 05:32:20
T1 AERODROM 题目大意 略。 分析 二分答案,然后 \(O(n)\) 遍历判断可行性。 代码 #include<cstdio> #include<cstdlib> #define Re register #define ll long long const int N = 100000 + 5; inline int read(){ int f = 1, x = 0; char ch; do { ch = getchar(); if (ch == '-') f = -1; } while (ch < '0' || ch > '9'); do {x = (x << 3) + (x << 1) + ch - '0'; ch = getchar(); } while (ch >= '0' && ch <= '9'); return f * x; } inline void hand_in() { freopen("aerodrom.in", "r", stdin); freopen("aerodrom.out", "w", stdout); } int n, m, t[N]; ll l = 0, r = 1e18, mid, ans; inline bool check(ll mid) { ll num = 0; for (Re int i = 1;i <= n; ++i) {

AGC035D

陌路散爱 提交于 2019-12-02 02:46:17
AGC035D Add and Remove 题意 给出 \(n\) 个数,每次删除一个不在两端的数,然后把它的权值加到相邻的两个数上。 问操作 \(n-2\) 次后,所剩的两数之和的最小值 \(n\le18\) 题解 暴力存储每一个数的状态肯定不行。 考虑计算每一个数被计算了多少次。 可以发现 \(1\) 和 \(n\) 一定只被计算了1次 最后一个被消除掉的数应只被计算 \(2\) 次 可以发现,如果左端点被计算 \(x\) 次,右端点被计算 \(y\) 次 那么左右端点之间最后一个被消除的数被计算了 \(x+y\) 次 然后就可以开始记忆化搜索了 注意全部都用 \(map\) 存储状态会 \(TLE\) ,需要把其中一部分用数组存储 代码 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int sz=20; int n; struct node{ int l,r,fl,fr; const bool operator<(const node &p)const{ if(l!=p.l) return l<p.l; if(r!=p.r) return r<p.r; if(fl!=p.fl) return fl<p.fl; if(fr!=p.fr) return fr<p.fr; } };

POJ - 1125 - Stockbroker Grapevine = Floyd

梦想的初衷 提交于 2019-12-01 23:40:37
http://poj.org/problem?id=1125 题意:给一个有向图,选一个起点,这个起点满足到达其他起点的时间的最大值最小。 图的顶点个数不超过100个,直接Floyd就完事。 #include<algorithm> #include<cmath> #include<cstdio> #include<cstring> #include<iostream> #include<map> #include<set> #include<stack> #include<string> #include<queue> #include<vector> using namespace std; typedef long long ll; int dis[105][105]; int main() { #ifdef Yinku freopen("Yinku.in", "r", stdin); #endif // Yinku int n; while(~scanf("%d", &n)) { if(n == 0) break; for(int i = 1; i <= n; ++i) { for(int j = 1; j <= n; ++j) { dis[i][j] = ((i == j) ? 0 : 0x3f3f3f3f); } } for(int i = 1; i <= n; ++i)

CSPS模拟69-72

China☆狼群 提交于 2019-12-01 07:42:12
模拟69: T1,稍数学,主要还是dp(转移莫名像背包???),当C开到n 2 时复杂度为n 4 ,考场上想了半天优化结果发现n是100,n 4 可过 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #include<cmath> 6 #define N 100050 7 #define mod 1000000007 8 using namespace std; 9 int n,c; 10 long long m; 11 int inc[N],inv[N]; 12 int dp[105][10005],f[2][105]; 13 inline int qpow(int d,long long z) 14 { 15 int ret=1; 16 for(;z;z>>=1,d=1ll*d*d%mod) 17 if(z&1)ret=1ll*ret*d%mod; 18 return ret; 19 } 20 inline int C(int n,int m){return 1ll*inc[n]*inv[m]%mod*inv[n-m]%mod;} 21 void init(int n) 22 { 23 inc[0]=inv[0]=1; 24 for(int i=1;i<=n;

3、手把手教React Native实战之flexbox布局

你。 提交于 2019-11-29 15:58:36
flexbox是Flexible Box的缩写,弹性盒子布局 主流的浏览器都支持 flexbox布局是伸缩容器(container)和伸缩项目(item)组成 Flexbox布局的主体思想是元素可以改变大小以适应可用空间,当可用空间变大,Flex元素将伸展大小以填充可用空间,当Flex元素超出可用空间时将自动缩小。总之,Flex元素是可以让你的布局根据浏览器的大小变化进行自动伸缩。 按照伸缩流的方向布局 伸缩容器有主轴和交叉轴组成! 主轴既可以是水平轴,也可以是垂直轴 flexbox目前还处于草稿状态,所有在使用flexbox布局的时候,需要加上各个浏览器的私有前缀,即-webkit -moz -ms -o等 ###伸缩容器的属性 1.display display:flex | inline-flex 块级伸缩容器 行内级伸缩容器 2.flex-direction 指定主轴的方向 flex-direction:row(默认值)| row-reverse | column | column-reverse 3.flex-wrap 伸缩容器在主轴线方向空间不足的情况下,是否换行以及该如何换行 flex-wrap:nowrap(默认值) | wrap | wrap-reverse 4.flex-flow 是flex-direction和flex-wrap的缩写版本

斗地主

感情迁移 提交于 2019-11-29 06:14:06
题面 贪心+dfs #include<iostream> #include<cstdlib> #include<cstring> #include<algorithm> #define INF 1061109567 #define Re register using namespace std; int t,n,f[25][25][25][25][5],cnt[5],card[25],num,ans; inline int dfs2(int on,int tw,int th,int fl,int w){ if(f[on][tw][th][fl][w]<INF){ return f[on][tw][th][fl][w]; } f[on][tw][th][fl][w]=on+tw+th+fl+w; int &now=f[on][tw][th][fl][w]; if(w==2) now=min(now,dfs2(on,tw,th,fl,0)+1); if(fl){ if(tw>=2) now=min(now,dfs2(on,tw-2,th,fl-1,w)+1); if(tw) now=min(now,dfs2(on,tw-1,th,fl-1,w)+1); if(w==2) now=min(now,dfs2(on,tw,th,fl-1,0)+1); if(w&&on) now=min

Apache Flink 零基础入门(十)Flink DataSet编程

不打扰是莪最后的温柔 提交于 2019-11-29 05:53:10
DataSet programs in Flink are regular programs that implement transformations on data sets (e.g., filtering, mapping, joining, grouping). The data sets are initially created from certain sources (e.g., by reading files, or from local collections). Results are returned via sinks, which may for example write the data to (distributed) files, or to standard output (for example the command line terminal). Flink programs run in a variety of contexts, standalone, or embedded in other programs. The execution can happen in a local JVM, or on clusters of many machines. Flink中DataSet编程是非常常规的编程

【BZOJ 2138】stone

蹲街弑〆低调 提交于 2019-11-29 03:28:41
Problem Description 话说 \(Nan\) 在海边等人,预计还要等上 \(M\) 分钟。为了打发时间,他玩起了石子。 \(Nan\) 搬来了 \(N\) 堆石子,编号为 \(1\) 到 \(N\) ,每堆包含 \(A_i\) 颗石子。 每 \(1\) 分钟, \(Nan\) 会在编号在 \([L_i, R_i]\) 之间的石堆中挑出任意 \(K_i\) 颗扔向大海(好疼的玩法),如果 \([L_i, R_i]\) 剩下石子不够 \(K_i\) 颗,则取尽量地多。为了保留扔石子的新鲜感, \(Nan\) 保证任意两个区间 \([L_i, R_i]\) 和 \([L_j, R_j]\) ,不会存在 \(L_i\le L_j \& R_j\le R_i\) 的情况,即任意两段区间不存在包含关系。 可是,如果选择不当,可能无法扔出最多的石子,这时 \(Nan\) 就会不高兴了。所以他希望制定一个计划,他告诉你他 \(m\) 分钟打算扔的区间 \([L_i, R_i]\) 以及 \(K_i\) 。 现在他想你告诉他,在满足前 \(i-1\) 分钟都取到你回答的颗数的情况下,第 \(i\) 分钟最多能取多少个石子。 Input Format 第一行正整数 \(N\) ,表示石子的堆数; 第二行正整数 \(x,y,z,P\) ,( \(1\le x,y,z\le N, P

python--几个重要内置函数(zip,fliter,map,sorted)

强颜欢笑 提交于 2019-11-29 00:49:27
# # zip 拉链方法 # l = [1,2,3] # l2 = ['a','b','c'] # l3 = ('*','**',[1,2]) # d = {'k1':1,'k2':2,'k3':3} # for i in zip(l,l2,l3,d): # print(i) # # # filter # def is_odd(x): # return x % 2 == 1 # # def is_str(s): # if type(s) != int: # return s and str(s).strip() # # ret = filter(is_odd, [1, 4, 6, 7, 9, 12, 17]) # # ret = filter(is_str, [1,'hello', 6, 7,'world',12,17]) # ret = filter(is_str, [1,'hello','',' ',None,[],6,7,'world',12,17]) # print(ret) # for i in ret: # print(i) # [i for i in[1, 4, 6, 7, 9, 12, 17] if i % 2 == 1] """ 用filter过滤出1~100中平方根是整数的数, """ # import math # def is_sqr(x): #