传送门 一道挺有意思的贪心. 从1到n依次满足条件. 注意要特判第一个数已经大于x的情况. 但是如何贪心吃呢? 如果靠左的数没有越界,我们吃靠右的数. 原因是下一次靠右的数就会成为靠左的数,相当于多贡献了一次. 然后貌似要开long long 代码: #include<bits/stdc++.h> #define N 100005 #define ll long long using namespace std; ll a[N],x,ans=0; int n; inline ll read()…
传送门 有个十分显然的结论,只用枚举前后两个面就可以知道所有的面的颜色. 于是可以O(n2)O(n^2)O(n2)枚举前后两个面然后用map乱搞求贡献. 发现这样算出来会多算两倍(打表证明)于是答案除以3. 代码: #include<bits/stdc++.h> #define ll long long #define N 405 using namespace std; inline int read(){ int ans=0; char ch=getchar(); while(!isdig…