Efficient subtraction from 1

Using packed ciphertexts in the BFV scheme, is there an efficient way to subtract each element from 1? I didn’t see a way to do that other than creating another packed ciphertext of encrypted 1s. Using EvalSub with a scalar seems to be only implemented in CKKS. Did I miss anything?

Do not create a packed ciphertext. Create a packed plaintext, and use it in EvalSub which is extremely fast in BFV.

You can also create the ones plaintext object at system initialization, store it in memory, and use it when needed.