2018.8.6 模拟赛 提高组B】的更多相关文章

T1 Description 给定一个n个点m条边的有向图,有k个标记点,要求从规定的起点按任意顺序经过所有标记点到达规定的终点,问最短的距离是多少. Input 第一行5个整数n.m.k.s.t,表示点个数.边条数.标记点个数.起点编号.终点编号. 接下来m行每行3个整数x.y.z,表示有一条从x到y的长为z的有向边. 接下来k行每行一个整数表示标记点编号. Output 输出一个整数,表示最短距离,若没有方案可行输出-1. Sample Input 3 3 2 1 1 1 2 1 2 3 1…
T1 打表出奇迹,发现结论为\(E(a_n)=n+1\)即可. #include <iostream> #include <cstdio> #include <cctype> #include <cstring> using namespace std; int n,Q; long long rd() { long long x=0,f=1;char ch=getchar(); while(!isdigit(ch)) {if(ch=='-') f=-1;ch…
2018.12.30[NOIP提高组]模拟赛C组总结 今天成功回归开始做比赛 感觉十分良(zhōng)好(chà). 统计数字(count.pas/c/cpp) 字符串的展开(expand.pas/c/cpp) 矩阵取数游戏(game.pas/c/cpp) 树网的核(core.pas/c/cpp) 统计数字(count.pas/c/cpp) 100 字符串的展开(expand.pas/c/cpp) 100 矩阵取数游戏(game.pas/c/cpp) 0 树网的核(core.pas/c/cpp)…
2018.12.08[NOIP提高组]模拟B组总结 diyiti 保留道路 进化序列 B diyiti Description 给定n 根直的木棍,要从中选出6 根木棍,满足:能用这6 根木棍拼出一个正方形.注意木棍不能弯折.问方案数. 正方形:四条边都相等.四个角都是直角的四边形. Input 第一行一个整数n. 第二行包含n 个整数ai,代表每根木棍的长度. Output 一行一个整数,代表方案数. Sample Input 8 4 5 1 5 1 9 4 5 Sample Output 3…
2017.1.16[初中部 ]普及组模拟赛C组 这次总结我赶时间,不写这么详细了. 话说这次比赛,我虽然翻了个大车,但一天之内AK,我感到很高兴 比赛 0+15+0+100=115 改题 AK 一.chicken 好难啊!好简单啊! 题目简化 求输入的几对x,y中最小的x/y*1000 比赛思路 难!难!难!这什么意思啊? 比赛过程 算几下不知何意,跳过之 错因 不懂题目意思,语文差 正解 扫一遍,包括第一个,取最小的. 二.match 好简单,好难,好繁杂 题目简化 往九宫格内填字母,得出六个…
非常巧妙的一场模拟赛,比较偏向于 Atcoder 的风格,考场上做出了 A .C 两题. A. 礼物购买 排完序后一个个礼物地枚举时间复杂度是\(\Theta(nm)\)的,不能接受.但是注意到,若当前商品买得起,那么它一定能够使答案缩小至少一半.因此我们用二分法找到下一个能买得起的商品,买完再二分下一个,时间复杂度是\(\Theta(n\log^2(n))\)的. 这道题的思路,来源于想到这是一个取模运算,或者是想到若前一个不能买了后一个能买了,那么商品的价格一定会相差一定的级数,而这个级数一…
心路历程 预计得分:\(100 + 100 +100\) 实际得分:\(100 + 100 + 60\) 辣鸡模拟赛.. 5min切掉T1,看了一下T2 T3,感觉T3会被艹爆因为太原了.. 淦了20minT2 发现也是个傻逼题.. 写T3感觉特别难受,因为次短路是去年4月学的,很多细节都记不清了. 最后玩了一个多小时的泥巴.. 测完发现自己T3挂掉40分因为自己傻逼的在3个if之间加了else,而且T3数据特别水,不打vis标记的spfa都能A.. 题解. 口胡一下吧. T1 按位考虑,显然0…
Summary 今天比赛感觉题目很奇葩,都可以用许多简单方法来做,正确性都显然,当然也有点水,也就是说是考我们的数感和数学知识,而程序,只是代码的体现. 这次的时间安排感觉不错,因为很快就打完最后一道题了,后面的时间都在思考前面两道题 Problem T1 护花 题目大意 牛都跑出去了,FJ想要把他们抓回来.抓每只牛需要2*Ti分钟的时间,每只牛在没有被要抓回去时,每分钟吃Di棵花,问怎么样抓牛才能使被吃掉的花尽量少. 想法 本来我是想设一个动态规划,F[i,j]表示第i头牛,是第j只被抓的,然…
A模拟 代码1 #include<bits/stdc++.h> using namespace std; int n = 101; int a[120][120]; int ans = 0; int main(){ //填充数组 int t = 0; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ a[i][j] = ++t; } } int cen = n/2+1; int p = 1; int l = 1,r=n; //上半 for(…
Summary 今天的题目也不算很难,唯一一道没做出来的题目是以前做过的,太不应该了. Problem T1 油滴扩展 题目大意 给你一堆点,你准备要在这么多的点当中滴油.你可以自己安排顺序,每次滴油,呈圆形扩散,知道碰到别的油或者边框. 想法 因为点的数目很小,可以直接暴力枚举顺序.可以用两点距离减去已有半径得出现有半径. T2 数列 题目大意 给你一堆数,你可以删去其中某些数,使得下标和数相同的数最多. 想法 显然可以用DP 设f[i,j]表示当前选到了i这个数,前面删去了j个数 那么可以考…