csp

【CSP模拟赛】益智游戏(最短路&拓扑排序)

匿名 (未验证) 提交于 2019-12-03 00:14:01
#include<queue> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int maxn=50005; const int maxm=200005; struct node{int id;long long d;}; bool operator <(node a,node b){return a.d>b.d;} int info[maxn],nx[maxm<<1],v[maxm<<1],w[maxm<<1],re[maxm<<1];long long d[5][maxn]; int n,m,en,ans,ecnt,p[5],dp[maxn],vis[maxn],inp[maxn],top[maxn],lef[maxm<<1];priority_queue<node>q; void add(int u1,int v1,int w1,int r){nx[++ecnt]=info[u1];info[u1]=ecnt;v[ecnt]=v1;w[ecnt]=w1;re[ecnt]=r;} void SPFA(int k) { memset(vis,0,sizeof vis); d[k][p[k]]=0;q.push((node){p[k],0}); while(!q

CSP 小明种苹果(续)201909-2

匿名 (未验证) 提交于 2019-12-03 00:13:02
4 4 74 -7 -12 -5 5 73 -8 -6 59 -4 5 76 -5 -10 60 -2 5 80 -6 -15 59 0 222 1 0 5 4 10 0 9 0 4 10 -2 7 0 2 10 0 4 10 -3 5 0 4 10 -1 8 0 39 4 2 注意: 1.发生苹果掉落和疏果是两种不同的操作 发生苹果掉落(5 3) 疏果(5 -3) 2.一棵树可能出现多次苹果掉落的情况 比如:3 5 2 1(对于一棵树来说 有3个操作,原来有5个苹果,第一次掉落后还剩2个,第二次掉落后还剩1个) 3.当发生苹果掉落的苹果树的棵树大于等于3时才可能形成连续的三个苹果树 发生苹果掉落的苹果树的序号我是用栈存的,感觉稍微麻烦了点,有时间试试数组 #include <cstdio> #include <algorithm> #include <iostream> #include <stack> #include <cstring> #define mem ( a , b ) memset ( a , b , sizeof ( a )) using namespace std ; typedef long long LL ; const int mod = 1e9 + 7 ; int dir [ 4 ][ 2 ] = { 0 , 1 , 0 ,- 1 , 1 , 0 ,-

10.3 CSP B组模拟赛

匿名 (未验证) 提交于 2019-12-03 00:13:02
写在前面:   至于10.3号的模拟为什么今天写。。。。这种事情不是很显而易见嘛。   我可是养鸽大户QAQ   其实这两天的题都还好,不算难。 T1 长方形   考试考结论以及数学对我来说最不友好了啊QAQ sha bi   数学菜鸡跟着题解改了小一个小时QAQ #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using namespace std; int n,m,k,ans=0; int ad(int x,int y,int i) { return x*(x-1)/2*i*(i-1)/2+y*(y-1)/2*x; } int main() { scanf("%d%d%d",&n,&m,&k); for(int i=2;i<=m;i++) { int x=k/i,y=k%i; if(x>n) continue; if(x==n&&y) continue; ans=max(ans,ad(x,y,i)); } for(int i=2;i<=n;i++) { int x=k/i,y=k%i; if(x>m) continue; if(x==m&&y) continue; ans=max(ans,ad(x,y,i)); } cout<<ans<<endl;

关于CSP的小道消息

匿名 (未验证) 提交于 2019-12-03 00:13:02
小道消息(未经官方证实) 来源:上海CCF教练群(自行判断) CSP 第一轮全为选择题,约40-50题。考察范围和往年一致。 来源:博客园 作者: tarjin 链接:https://www.cnblogs.com/tarjin/p/11614084.html

ccf csp 201909-2 小明种树(续)

匿名 (未验证) 提交于 2019-12-03 00:06:01
import java . util . Scanner ; public class Two { public static void main ( String [] args ) { Scanner sc = new Scanner ( System . in ); int N = sc . nextInt (); long T = 0 , D = 0 , E = 0 ; boolean [] drop = new boolean [ N ]; for ( int i = 0 ; i < N ; i ++){ drop [ i ] = false ; int m = sc . nextInt (); int subTot = 0 ; for ( int j = 0 ; j < m ; j ++){ int sub = sc . nextInt (); if ( sub > 0 ){ if ( j == 0 ){ subTot = sub ; } else if ( subTot != sub ){ D ++; subTot = sub ; drop [ i ] = true ; } } else { subTot += sub ; } } T += subTot ; } for ( int i = 0 ; i < N ; i ++){ if ( drop [ i ] &&

csp 201312-1

匿名 (未验证) 提交于 2019-12-02 23:59:01
#include <iostream> #include <algorithm> using namespace std ; int main (){ int n ; cin >> n ; int * a = new int [ n ]; for ( int i = 0 ; i < n ; i ++){ cin >> a [ i ]; } sort ( a , a + n ); //排序 int * b = new int [ 10001 ]; //存放次数,下标为相应数值 int max = 1 ; //记录出现的最大次数 for ( int j = 0 ; j < n ; j ++){ int count = 1 ; while ( j + 1 < n && a [ j ]== a [ j + 1 ]){ //若下一个数存在且相等,则次数加一 注意j+1 count ++; j ++; } b [ a [ j ]]= count ; //次数为一的也需要记入 if ( count > max ){ max = count ; //b[a[j]]=count; 放在此处的话,count>=max } } //优化:降序排序,记录max时,记录相应数值,最后所得的数,即是最小的 //查找出现次数最大的最小的数 for ( int k = 0 ; k < 10001 ; k ++){

ASP.NET Core中使用Csp标头对抗Xss攻击

匿名 (未验证) 提交于 2019-12-02 22:09:29
内容安全策略(CSP)是一个增加的安全层,可帮助检测和缓解某些类型的攻击,包括跨站点脚本(XSS)和数据注入攻击。这些攻击用于从数据窃取到站点破坏或恶意软件分发的所有内容(深入 CSP ) 简而言之,CSP是网页控制允许加载哪些资源的一种方式。例如,页面可以显式声明允许从中加载JavaScript,CSS和图像资源。这有助于防止跨站点脚本(XSS)攻击等问题。 它也可用于限制协议,例如限制通过HTTPS加载的内容。 Content-Security-Policy 启用CSP, 您需要配置Web服务器以返回 Content-Security-Policy HTTP标头。那么在这篇文章中,我们将要尝试将CSP添加到ASP.NET Core应用程序中。 app.Use(async (ctx, next) => { ctx.Response.Headers.Add("Content-Security-Policy", "default-src 'self'; report-uri /cspreport"); await next(); });   在Home/Index中引入cdn文件,然后我们启动项目,看看会发生什么! 运行并观察错误。 加载页面时,浏览器拒绝从远程源加载。 来源: *: 允许任何网址。 ‘self’: 允许所提供页面的来源。请注意,单引号是必需的。 ‘none’:

[CSP校内集训]kat

放肆的年华 提交于 2019-12-02 21:11:11
题意 一本有n道题的练习册,katarina大佬每天都会做k道题。 第一天做第1~k题,第二天做第2~k+1题……第n-k+1天做第n−k+1~n道题。 每道题有它的难度值,假设今天katarina大佬做的题目中最大难度为t,那么今天katarina大佬的劳累度就是 \(w_t\) ,做完这本书的劳累值就是每天的劳累值之和。 题目的难度在1~m随机,求做完整本书的期望劳累值 \(n,m \leq 500 , mod = 10^9+7\) 思路 由于前面两道题都有点迷所以还以为这道题也是道神题 性质 :求每种排列的贡献和 等价于 一个滑动窗口的贡献 \(\times\) \((n-k+1)\) ( 性感 )证明 根据题意有: \[ans = \sum_{i=1}^{m^n}{ (\frac{1}{m^n} \times (a_1^i + a_2^i + ....... + a_{n-k+1}^i)) }\] ,其中 \(a_j^i\) 表示在第 \(i\) 种排列下第 \(j\) 个滑动窗口的贡献 显然这个东西可以用乘法分配律按照 \(j\) 分开: \[ans = \sum_{j=1}^{n-k+1}{\frac{1}{m^n} \times (a_j^1 + a_j^2 + ....... + a_j^{m^n})}\] 对于一个滑动窗口

CSP-S 临别赠言(一)

 ̄綄美尐妖づ 提交于 2019-12-02 16:56:54
距离CSP-S还有17天。   好久没换倒计时了,今天乍一看不到20天了, 有点 超级紧张。   luogu试炼场还有好多没写,数论还渣的一比,智障错误集锦每天都在变得更充满,模拟考试也开始陷入想不出来的现实了。。。。   好像没什么能定心的东西嘤~ 我   好多人都说我不适合考试,带上耳机自学我比谁都快,一到考试就各种小错误不断。   恐惧安静。   学校高二机房在6层,中间要走过没有一个人的5层楼,一个人走的时候,我总是必须一口气冲上去,不然估计就上不去了(*^__^*) 【其实楼道根本没那么可怕啦   可能真的是自己的缺陷,摘下来耳机,甚至说话都不利索,其实这些年还好了不少啦,所以一直也就习惯随身一个mp3。   但是考场上面除了敲键盘的声音什么都没有,安静的有些焦虑。   别看我现在好像还是很健谈的样子,其实我讲话的时候紧张的要死呢,经常就没有逻辑。   往常模拟赛考的还行的时候都是戴着耳机考的,但是最近不带真的是大脑空白,有种窒息的感觉。   就比如我现在就没有带着耳机,我自己都觉得自己说话一点逻辑都没有QAQ   这样的我真的适合考CSP吗?   没有人能给我一个肯定的答案吧。   包括我自己。 CSP     说实话,第一年CSP谁知道会发生什么?   面向范围扩大了,题会不会难?会不会偏?还是说会有什么新的知识点?   作为SX最后一届初中不竞赛的高中学生

CCF CSP 201409-4 最优配餐

冷暖自知 提交于 2019-12-02 15:17:21
思路: 1.学会将多源在一开始时全部加入队列,然后bfs求最优的做法; 2.用一个二维数组表示目前该点离店最近的距离,所有距离初始化为1000*1000以上的值; 3.将所有订单,以坐标和量按序存储起来,之后直接挨个累加就好了; 4.总开销可能会超过int范围,所以可以使用long long; 代码: # include <bits/stdc++.h> using namespace std ; typedef pair < int , int > p ; typedef long long ll ; # define N 1005 # define m_p(a,b) make_pair(a,b) # define p_b(a) push_back(a) # define rp(i,n) for(int i=0;i<n;i++) int n , m , k , d ; ll dist [ N ] [ N ] ; //每个客户的最短距离 vector < p > guest ; //每个顾客位置 ll oderNum [ N * N ] ; //相应index顾客的配送餐量 queue < p > q ; void bfs ( ) { while ( ! q . empty ( ) ) { p pos = q . front ( ) ; int x = pos . first , y